Перейти к содержимому
Калькуляторы

Трансляция видео с камер на сайте с помощью VLC

День добрый.

 

Имеются:

камера AXIS 223M Network Camera (10.0.1.1)

сервер видеонаблюдения (назовем его так) на Ubuntu Server 2.6.31-14-server #48-Ubuntu SMP x86_64 c VLC media player 1.0.4 Goldeneye (10.0.2.1)

веб-сервер 7.1-RELEASE Freebsd amd64 (10.0.3.1)

 

Необходимо реализовать онлайн трансляцию с камеры на веб-сервер.

 

Сейчас сделано так:

 

На сервере видеонаблюдения:

vlc -d --ttl 6 -R rtsp://10.0.1.1:554/mpeg4/1/media.amp --rtsp-caching=10000 --no-sout-audio --sout "#transcode{width=640,height=480}:std{mux=ts,access=http,dst=127.0.0.1:8075}"

забираем поток с камеры, перенаправляем на 8075 порт сервера

vlc -d -R http://127.0.0.1:8075 --no-sout-audio --sout "#transcode{vcodec=FLV1,vb=9800,hq}:std{access=http{mime=video/x-flv},dst=:8085/test.flv,mux=ffmpeg{mux=flv}}"

и перекодируем во флэш

 

Далее на веб-сервере стоит флэш плеер JW Player, который играет поток с 10.0.2.1:8085/test.flv.

Точнее иногда играет, ибо может просто не загрузить картинку (черный экран плеера), может начать воспроизводить с большой задержкой, а может и нормально запуститься. С opera вообще пишет о том, что не может найти видео по данному адресу.

 

Может кто сталкивался с такой проблемой?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Попробовал поток без кодирования:

vlc -vv -d --ttl 6 -R rtsp://10.0.1.1:554/mpeg4/1/media.amp --rtsp-caching=5000 --no-sout-audio --sout #std{access=http,mux=ffmpeg,dst=:8085/test.mp4}

 

Видео не показывает...

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Сервер Ubuntu 9.04 Server

Клиенты смотрят через JW Player

 

cvlc -vvv rtsp://xxx.xxx.xxx.xxx:7070 --loop --sout --'#transcode{acodec=mp4a,vcodec=h264,venc=x264}:std{access=http,mux=,dst=xxx.x

xx.xxx.xxx:8082/test.flv}'

 

Прекрасно работает.

 

 

Перекодировка звука нужна - потому что Flash понимает Н.264 только если звук mp4a кодек.

Сама камера дает и так h.264 поток - н перекодировка сделана все равно. Причина - камера довольно далеко и часто теряются пакеты и Flash плеер от этого колбасит. А с перекодировкой все прекрасно.

 

Есть два не решенных вопроса.

1. Звук отстает стабильно на полсекунды. Никак не работают ключики delay и иже с ними. Подскажете?

 

2. JW Player, если теряется сигнал, начинает гонять по кругу записанный в кэше кусок. И не ищет снова поток - приходится перегружать страничку. Подскажете?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А на картинке не возникают артефакты в виде зеленой картинки в начале? Звук то мне вообще не важен в потоке.

 

Хм, все равно не хочет пахать собака, точнее 1 плеер показывает, 2 уже нет... Если закрыть первый, то, обновив, заработает второй...

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Конечно возникают. Он же начинается не с ключевого кадра. А как ключик пройдет - все и нормально становится.

AXIS 223M - не дает поток H.264. У нее старый Mpeg 4 - он другой. Так что надо перекодировать изображение в 264. (в первом посте вы отчего-то используете старый FLV кодек - тогда как с 9 версии флэш поддерживает Н.264)

И вообще - попробуйте посмотреть результат другим VLC и проверьте параметры потока. Может быть ему кодека не хватает. Потому как вышеуказанная строчка у меня работает идеально. Но вроде какие-то кодеки доставлял для конвертации в систему. Не помню уже.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ну у меня с данной командой получается так: сначала зеленые артефакты, потом появляется нормальное видео примерно с 2-3 секундным отставанием от реального. Параллельно больше ничего не показывает в flash плеере. Открыл параллельно поток в vlc, отставание примерно секунд 20-25 стало. Т.е. чем больше Задержка включение 3 VLC - 30-40 секунд, отставание от реального 20-25 секунд. Но последний VLC периодически отваливается, т.е. изображение пропадает. Нужно заново запускать.

 

vlc запущен так:

 

cvlc -vvv --ttl 6 -R rtsp://10.4.0.9:554/mpeg4/1/media.amp --rtsp-caching=5000 --no-sout-audio --sout #transcode{vcodec=h264,venc=x264,vb=9800,width=640,height=480}:std{access=http,mux=,dst=:8085/test.flv}"

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ну все правильно. У ВЛЦ при приеме свой буфер есть. Получается - ВЛЦ сервер буферизирует, потом еще тот ВЛЦ который показывает - тоже. Ну и набегает помалу.

А у флэш плеера буфер поменьше - вот и разница.

Непонятно только отчего отваливается. А что пишет в логах ВЛЦ когда отваливается?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А вот что самое интересное, что в логах всё чисто. В них пишет, когда пробую второе окно с JW Player открыть, говорит статус ОК, но картинки не появляется...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.