2017-01-17 5 views
1

Я использую ffprobe, чтобы получить все параметры в RTSP поток, как битрейт, кадров в секунду и т.д.Porcelain.exec дал пустой ответ

Я использую Porcelain.exec выполнить команду. Команда работает, но Porcelain дал пустой вывод, но команда вывода показывает параметры на выходе.

Вот код:

Porcelain.exec("ffprobe", ["rtsp://90.101.245.146:9201/h264/ch1/main/av_stream"]).out 

Он дал OUTPUT пустой строку, но терминальные показывают следующий вывод команды.

Metadata: 
    title: Media Presentation 
Duration: N/A, start: 0.239978, bitrate: N/A 
    Stream #0:0: Video: h264 (Main), yuv420p(tv, bt709), 1920x1080, 25 fps, 25.25 tbr, 90k tbn, 50 tbc 

Любое решение для этого?

+1

Работает ли это: 'Porcelain.exec (" ffprobe ", [" rtsp: //90.101.245.146: 9201/h264/ch1/main/av_stream "], [err:: out]). Out'? – Dogbert

+0

Да, это сработало. – azharmalik3

ответ

1

ffprobe печатает эти данные в stderr и Porcelain.exec по умолчанию не отображает вывод stderr. С водителем Фарфор в Basic вы можете перенаправить поток ошибок на стандартный вывод, а затем прочитать .out:

Porcelain.exec("ffprobe", ["rtsp://90.101.245.146:9201/h264/ch1/main/av_stream"], [err: :out]).out 

С водителем Фарфор в Goon, вы можете сделать более продвинутые вещи, как перенаправление потока или файла. Вы можете узнать больше об этом в docs for Porcelain.exec/3.