G@riK Posted February 9, 2010 Posted February 9, 2010 День добрый. Имеются: камера 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 вообще пишет о том, что не может найти видео по данному адресу. Может кто сталкивался с такой проблемой? Вставить ник Quote
G@riK Posted February 10, 2010 Author Posted February 10, 2010 Попробовал поток без кодирования: 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} Видео не показывает... Вставить ник Quote
timeoff Posted February 10, 2010 Posted February 10, 2010 Сервер 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, если теряется сигнал, начинает гонять по кругу записанный в кэше кусок. И не ищет снова поток - приходится перегружать страничку. Подскажете? Вставить ник Quote
G@riK Posted February 11, 2010 Author Posted February 11, 2010 А на картинке не возникают артефакты в виде зеленой картинки в начале? Звук то мне вообще не важен в потоке. Хм, все равно не хочет пахать собака, точнее 1 плеер показывает, 2 уже нет... Если закрыть первый, то, обновив, заработает второй... Вставить ник Quote
timeoff Posted February 12, 2010 Posted February 12, 2010 Конечно возникают. Он же начинается не с ключевого кадра. А как ключик пройдет - все и нормально становится. AXIS 223M - не дает поток H.264. У нее старый Mpeg 4 - он другой. Так что надо перекодировать изображение в 264. (в первом посте вы отчего-то используете старый FLV кодек - тогда как с 9 версии флэш поддерживает Н.264) И вообще - попробуйте посмотреть результат другим VLC и проверьте параметры потока. Может быть ему кодека не хватает. Потому как вышеуказанная строчка у меня работает идеально. Но вроде какие-то кодеки доставлял для конвертации в систему. Не помню уже. Вставить ник Quote
G@riK Posted February 12, 2010 Author Posted February 12, 2010 Ну у меня с данной командой получается так: сначала зеленые артефакты, потом появляется нормальное видео примерно с 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}" Вставить ник Quote
timeoff Posted February 12, 2010 Posted February 12, 2010 Ну все правильно. У ВЛЦ при приеме свой буфер есть. Получается - ВЛЦ сервер буферизирует, потом еще тот ВЛЦ который показывает - тоже. Ну и набегает помалу. А у флэш плеера буфер поменьше - вот и разница. Непонятно только отчего отваливается. А что пишет в логах ВЛЦ когда отваливается? Вставить ник Quote
G@riK Posted February 12, 2010 Author Posted February 12, 2010 А вот что самое интересное, что в логах всё чисто. В них пишет, когда пробую второе окно с JW Player открыть, говорит статус ОК, но картинки не появляется... Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.