LINUX.ORG.RU

Потокое вещание flv через vlc - увидеть поток без предварительного скачивания wget'ом


0

1

Имеется: поток c веб-камеры в инете (mjpeg, 5-10 fps) Задача: перекодировать через vlc поток в flv в реальном времени параллельно смотреть выходной flv поток в реальном времени

Что уже пробовал: На локалхосте пускается vlc командой:

cvlc -vvv адрес_веб-камеры --http-caching=5000 --sout '#transcode{vcodec=FLV1}:standard{mux=ffmpeg{mux=flv},access=http{mime=video/x-flv},dst=127.0.0.1:8082/stream.flv}'

Mplayer (smplayer) при открытии урла зависает после буферизации, если буферизацию отрубить, то зависает сразу

Другая копия vlc запущенная с -vvv пишет в лог

[flv @ 0x8a48b70]warning: first frame is no keyframe

(что собственно ожидаемо, т.к. открываю поток) и также не отображает поток.

всякие web плееры типа flowplayer, gw player (разных версий) и т.п. также не хотят показывать поток вживую

Единственный найденный пока способ посмотреть кусок потока - начать скачивать его wget'ом, прервать скачивание и затем смотреть получившийся flv.

Хочется увидеть поток 127.0.0.1:8082/stream.flv в реальном времени. Этого как-нибудь можно добиться?

У меня так же vlc вещает. Если открыть поток тем же vlc, то он действительно выдает «warning: first frame is no keyframe», но потом дожидается keyframe'а, и дальше все играет. У вас частота кадров ниже (у меня 25) — попробуйте просто подождать подольше :)

botkin
()

А flowplayer-то как «отказывается»? У меня как миленький играет, ну может с задержкой в полсекунды относительно реальности, и звук немного туда-сюда плавает...

botkin
()
Ответ на: комментарий от botkin

Попробую подождать подольше. Там у веб-камеры канал плохой, т.ч. иногда fps ещё и ниже 5-10 падает, а вопросом о том, через какое число кадров в FLV1 ставятся ключевые кадры я не задавался.

flowplayer показывает черный экран без элементов управления. Первое что я предположил - проблема с global security settings в flash, но это оказалось ошибочным.

NightOperator ★★★
() автор топика
Ответ на: комментарий от botkin

Разобрался. Это у меня руки кривые были при указании пути к flowplayer - перепутал номер версии в названии файла, когда путь к нему в скрипте прописывал :)

Flowplayer поток показывает. Т.ч. проблема в принципе снята.

NightOperator ★★★
() автор топика

Странно. vlc капризный очень. У меня вот так работает:

[code] /usr/bin/vlc -I dummy -d http://camera/axis-cgi/mjpg/video.cgi :sout=#transcode{vcodec=FLV1,vb=600,acodec=none}:http{dst=127.0.0.1:8080/stream.flv} [/code]

mux=ffmpeg{mux=flv} они при этом сам соображает, исходя из ресширения. Может, тоже попробовать явно задать vb=?.. Может, --http-caching=5000 убрать?..

Кстати, у меня параметр fps= ни на что не влияет, что бы туда ни написал, vlc выдает 25 кадров.

(Я там выше про «гуляние» звука писал — это с другой камеры, на этой звука нет)

botkin
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.