G@riK Опубликовано 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 вообще пишет о том, что не может найти видео по данному адресу. Может кто сталкивался с такой проблемой? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
G@riK Опубликовано 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} Видео не показывает... Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
timeoff Опубликовано 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, если теряется сигнал, начинает гонять по кругу записанный в кэше кусок. И не ищет снова поток - приходится перегружать страничку. Подскажете? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
G@riK Опубликовано 11 февраля, 2010 · Жалоба А на картинке не возникают артефакты в виде зеленой картинки в начале? Звук то мне вообще не важен в потоке. Хм, все равно не хочет пахать собака, точнее 1 плеер показывает, 2 уже нет... Если закрыть первый, то, обновив, заработает второй... Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
timeoff Опубликовано 12 февраля, 2010 · Жалоба Конечно возникают. Он же начинается не с ключевого кадра. А как ключик пройдет - все и нормально становится. AXIS 223M - не дает поток H.264. У нее старый Mpeg 4 - он другой. Так что надо перекодировать изображение в 264. (в первом посте вы отчего-то используете старый FLV кодек - тогда как с 9 версии флэш поддерживает Н.264) И вообще - попробуйте посмотреть результат другим VLC и проверьте параметры потока. Может быть ему кодека не хватает. Потому как вышеуказанная строчка у меня работает идеально. Но вроде какие-то кодеки доставлял для конвертации в систему. Не помню уже. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
G@riK Опубликовано 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}" Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
timeoff Опубликовано 12 февраля, 2010 · Жалоба Ну все правильно. У ВЛЦ при приеме свой буфер есть. Получается - ВЛЦ сервер буферизирует, потом еще тот ВЛЦ который показывает - тоже. Ну и набегает помалу. А у флэш плеера буфер поменьше - вот и разница. Непонятно только отчего отваливается. А что пишет в логах ВЛЦ когда отваливается? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
G@riK Опубликовано 12 февраля, 2010 · Жалоба А вот что самое интересное, что в логах всё чисто. В них пишет, когда пробую второе окно с JW Player открыть, говорит статус ОК, но картинки не появляется... Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...