

Alexey
13.05.2017
02:14:14
Подскажите пожалуйста.
Мне нужно внутри go выполнить команду ffmpeg.
На вход я передаю mp4 файл в виде resp.Body от http запроса, который выполнился до этого куска кода
cmd := exec.Command("ffmpeg",
"-f", "lavfi",
"-i", "anullsrc=channel_layout=stereo:sample_rate=44100",
"-i", "pipe:0",
"-shortest", "-c:v", "copy", "-c:a", "aac",
"output.mp4")
cmd.Stdin = resp.Body
cmd.Run()
На выходе после cmd.Run() хочу получить объект io.Reader, как результат работы ffmpeg, который можно было бы потом скормить телеграм боту
reader := tgbotapi.FileReader{Name: "test", Reader: output, Size: int64(contentLength)}
file := tgbotapi.NewDocumentUpload(messageChatID, reader)
код по ffmpeg выше сейчас сохраняет на диске output.mp4, тем саммым показывая, что передача resp.Body в пайп работает.
Нокак сделать, чтобы на выходе еще был результат обработки в виде объекта, а не файла, я не понимаю ?
Всем спасибо за помощь. В итоге оказалось, что основная проблема была в команде ffmpeg, нужно было добавить параметр, чтобы данные корректно отдавались в пайп. ?
Остальное, буферы и пр. — это уже мелочи были... ?
Вот итоговый код:
@MikalaiR @twentydraft @di3young @zelenin


Slava
13.05.2017
02:49:23
а у кого-то ещё Gogland тормозит из-за включенной "Bool condition inspection"?

Ivan
13.05.2017
07:13:40
Коллеги помогите с sqlite и nil
у меня тут мелкий скрипт, в котором есть db.Query("select sum(amount) from orders....
иногда этот sum возвращает nil и рушит var sum int; ... Scan(&sum)
Scan error on column index 0: converting driver.Value type <nil>
как это по человечески обойти?

Google

⠀
13.05.2017
07:23:01
Проверить заранее
Либо try

Ivan
13.05.2017
07:23:40
Это как проверить заранее?
Проверить не получу ли я nil получив nil ?

Mikalai
13.05.2017
07:25:27
хотя наверное нужно вот это вот https://golang.org/pkg/database/sql/#NullInt64

Ivan
13.05.2017
07:27:49
Спасибо

Ivahaev
13.05.2017
09:43:14

Nix
13.05.2017
09:51:03
Встречал, но хотелось с хорошим комьюнити

Ivahaev
13.05.2017
09:55:58
Таких нет. Все было уг. Моя используется в бою во многих проектах.

Ivan
13.05.2017
10:31:45
А вы для чего юзаете?
Мониторинг какой нибудь?

Google

Jaroslav
13.05.2017
11:43:19
Всем привет, уже просто устал искать решение. Как получить доменное имя по айпи?

Ivahaev
13.05.2017
11:52:12
А вы для чего юзаете?
Разные цели были. Мониторинг и оригинация, диалплан внешний, просто трансляция событий во внешний сервис...

Alexey
13.05.2017
11:55:37
Всем привет, уже просто устал искать решение. Как получить доменное имя по айпи?
нужен nslookup и/или соответственно обертки над ним.
$ nslookup ya.ru
Server: 202.96.134.133
Address: 202.96.134.133#53
Non-authoritative answer:
Name: ya.ru
Address: 87.250.250.242
$ nslookup 87.250.250.242
Server: 202.96.128.166
Address: 202.96.128.166#53
Non-authoritative answer:
242.250.250.87.in-addr.arpa name = ya.ru.
https://golang.org/src/net/lookup_test.go
но вам нужно будет учитывать, что что доменов может быть несколько...

Jaroslav
13.05.2017
11:56:42
спасибо

Alexander
13.05.2017
12:36:06
addr, err := net.LookupAddr("87.250.250.242")
fmt.Println(addr, err)

Ivan
13.05.2017
12:38:56
А вот есть у меня прога небольшая на go , она на мелком сервере будет выполняться, как мне узнать изнутри её , сколько она памяти прямо сейчас потребляет.

Stanislav
13.05.2017
13:43:24

Kirill
13.05.2017
13:58:59

Ivan
13.05.2017
13:59:22
не, мне надо что б прога сама поняла, и метрику отправила
спасибо

Kirill
13.05.2017
14:00:15
Тогда pprof и пакет runtime/pprof

Monday Begins on Saturday
13.05.2017
14:04:00
Как всем новая версия Gogland'а? Стоит обновляться?
Умпутун в твиттере вроде жаловался на какие-то баги.

Kirill
13.05.2017
14:04:44
Меня принудительно обновило

Monday Begins on Saturday
13.05.2017
14:19:10
У меня наверное тоже принудительно обновило бы, но я забыл дать разрешение на запись?

Kirill
13.05.2017
14:19:46
Да я недавно только на го начала что-то делать, соответственно 90% фичей IDE просто не юзаю

Google

Alexander
13.05.2017
14:55:30

Ivan
13.05.2017
14:55:38
да

Олег
13.05.2017
15:00:54

Alexander
13.05.2017
15:00:57
grep ^VmSize /proc/$$/status
напрмер, чтобы посмотреть на память своего (текущего) процесса shell. Ну и там разное есть
Ivan - тоже самое процесс Go-программы может посмотреть и сам про себя
http://man7.org/linux/man-pages/man5/proc.5.html

Max
13.05.2017
15:26:21
Мб ReadMemStats из runtime pkg
https://golang.org/pkg/runtime/#ReadMemStats

Ivan
13.05.2017
15:28:49
Спасибо!

Matz
13.05.2017
16:54:08
Друзья, читаю и делаю по книге "ЯП Go"Автор - Керниган.
Дошел до момента, где нужно объединить фигуры Лиссажу.
И тут у меня возникла ошибка на 12ой строке:
undefined: lissajous
Если импортирую, то не находит

Mikalai
13.05.2017
17:00:08
А что в lissajous.go ?

Matz
13.05.2017
17:02:54
https://gist.github.com/BORN2LOSE/d3104e598c0baceb5f2f92047ac3a75a

Mikalai
13.05.2017
17:03:57
Ну у тебя два варианта
Либо просто скопировать код функции в тот пакет, где она будет использоваться. Либо сделать пакет и его импортировать

Matz
13.05.2017
17:07:48
Окей, спасибо

TILTED
14.05.2017
10:15:14
День в хату. Гоу может в машинное обучение?

Slava
14.05.2017
10:17:09

TILTED
14.05.2017
10:18:38

Slach
14.05.2017
10:19:28
Go tensorflow bindings в Гугле

Slava
14.05.2017
10:19:30
Сходу не вспомню они в awesome-go есть

Google

Slava
14.05.2017
10:19:54

Ivan
14.05.2017
10:32:57
А есть how-to для самых маленньких про это обучение.
У меня есть вот такая задача, у меня есть набор данных, большой ну условно просто json. field:value
Мне надо на нем что то обучить,
что б потом когда я засовываю следуший json оно мне сказал похож или нет в процентах.
похож, это в плане аномалий. Я сам могу сдлелать также набор непохожих.

Олег
14.05.2017
15:03:31
Проще всего вычислять похожесть векторов - через расстояние между ними.
Если придумать алгоритм по наложению своих объектов json на некоторое n-мерное пространство, то можно будет вычислить центр данной выборки, и похожесть всех следующих входов вычислять через расстояние до центра.


Ivan
14.05.2017
15:55:32
Ну, я зря написал про json, пусть структуры.
Есть у меня поток данных со структурами, и задача выжделять "нетипичные", причём что такое нетипичные мы не особенно сформулировать можем, можем только на примерах показать (можем сделать много примеров).
В этом случае эта задача машинного обучения?

Олег
14.05.2017
15:57:59
Всем алгоритмам машинного обучения, о которых я слышал, требуется конечный набор числовых или перечислимых признаков. Если каждый json представить как вектор значений этих признаков - тогда можно уже подбирать алгоритм для выявления аномалий в потоке.

Мерлин
14.05.2017
16:18:18

Kirill
14.05.2017
16:41:51

Ivan
14.05.2017
17:13:31

Мерлин
14.05.2017
17:26:08

Ivan
14.05.2017
17:27:54
Спасибо!

Monday Begins on Saturday
14.05.2017
18:15:13
Какой библиотекой я могу перевести UTC время, которое получил в секундах от сервера в строку?
В библиотеке time метода такого не нашел

Мерлин
14.05.2017
18:17:00

Monday Begins on Saturday
14.05.2017
18:18:53
Из числа в строку
Например вот это 1494774331 в 2017 04 15

Aleksandr
14.05.2017
18:20:01

Мерлин
14.05.2017
18:20:11

Google

Monday Begins on Saturday
14.05.2017
18:25:02
? всё понял, спасибо

Мерлин
14.05.2017
18:26:46
только ссылка кривая
https://golang.org/pkg/time/#Time.Format
https://habrahabr.ru/post/328620/

Alexander
15.05.2017
10:50:19

Anton
15.05.2017
10:50:38
чтобы мокать же)

Alexander
15.05.2017
10:52:53
для написания тестов ?
я только начал изучать go и честно горя не представляю для каких целей такое может понадобиться
читал и статью на которую ссылаются - https://habrahabr.ru/company/badoo/blog/279617/
и там примеры описаны, но все-рано не понимаю если это нужно для тестирования, то какой-то не очень способ
оставлять хлам в prod коде