Как потоковое видео в формате MP4 через стандартный ввод / стандартный вывод? - PullRequest
0 голосов
/ 16 мая 2019

Мне нужно передать видео на стандартный вывод, а затем снова прочитать этот поток со стандартного ввода, чтобы отобразить его. В конце будет посередине приложение для управления сетью, но сейчас я хочу протестировать его напрямую. При этом видео таймер работает, но экран остается черным.

vlc -I dummy video.mp4 --sout '#standard{access=file,mux=ogg,dst=-}' | vlc -

Я также попробовал gstreamer, но пока не смог успешно воспроизвести видео.

gst-launch-1.0 filesrc location=video.mp4 ! fdsink | gst-launch-1.0 fdsrc fd=0 ! decodebin ! autovideosink

У кого-нибудь есть идеи, как это сделать? Заранее спасибо!

1 Ответ

0 голосов
/ 16 мая 2019

Мне пришлось немало потрудиться с опциями VLC, чтобы заставить это работать, даже не уверенный, что там нет дополнительных / бесполезных / неправильных настроек (например, лишнего многословия ;-) Для справки, я получил помощь от вики VLC .

На принимающей стороне:

vlc rtp://192.168.56.101

На отправляющей стороне:

vlc -vvv video.mp4 --sout '#duplicate{dst=display,dst="transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128,deinterlace}:rtp{mux=ts,dst=192.168.56.101,sdp=sap,name="TestStream"}"}'

Примечание:

  • Вы увидите 2 видео выхода, что связано с параметром «duplicate» в опции потоковой передачи (значения --sout)
  • Не забудьте добавить IP-адрес вашей рабочей станции в обе команды
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...