@WayMax

Как настроить ffserver для стриминга mp4?

Нужно транслировать видео с ip-камер на веб-страницу. Из доступных вариантов мне показался самым простым вариант со связкой ffserver и ffmpeg. Возможно ошибочно.

Сначала настроил для приема видео через html поток в формате mjpeg:

Файл "ffserver.conf"
<Feed feed1.ffm>
File /tmp/feed1.ffm
FileMaxSize 200M
</Feed>

<Stream feed1.mjpg>
Feed feed1.ffm
Format mpjpeg
NoAudio
</Stream>


Запуск ffserver
ffserver -d -f /etc/ffserver.conf

Запуск ffmpeg
ffmpeg -f mjpeg  -i "http://10.1.1.60:80/axis-cgi/mjpg/video.cgi?resolution=640x480" -c copy http://127.0.0.1:8090/feed1.ffm"


Видеопоток доступен по ссылке "10.1.1.40:8090/feed1.mjpg" - данный вариант работает.

Затем пришел через настроить прием видео через rtsp поток в формате h264:

Файл "ffserver.conf"
<Feed feed1.ffm>
File /tmp/feed1.ffm
FileMaxSize 200M
</Feed>

<Stream feed1.mp4>
Feed feed1.ffm
Format mp4
NoAudio
</Stream>


Запуск ffserver
ffserver -d -f /etc/ffserver.conf

Запуск ffmpeg
ffmpeg -i "rtsp://10.1.1.60:554/axis-media/media.amp?videocodec=h264&resolution=640x480" -acodec copy -vcodec copy "http://127.0.0.1:8090/feed1.ffm"


При попытке доступа к "10.1.1.40:8090/feed1.mp4" в консоли ffserver "ругается":
Fri Jun 24 02:32:36 2016 10.1.1.41 - - New connection: GET /feed1.mp4
Fri Jun 24 02:32:36 2016 Codec for stream 0 does not use global headers but container format requires global headers
Fri Jun 24 02:32:36 2016 muxer does not support non seekable output
Fri Jun 24 02:32:36 2016 Error writing output header
Fri Jun 24 02:32:36 2016 10.1.1.41 - - [GET] "/feed1.mp4 HTTP/1.1" 200 68


Хотя если запустить только ffmpeg на запись видеопотока в файл:
ffmpeg -i "rtsp://10.1.1.60:554/axis-media/media.amp?videocodec=h264&resolution=640x480" -acodec copy -vcodec copy "/tmp/test.mp4"


Видеопоток корректно сохраняется в файл и проигрывается видеплеером.

Получается проблема не в кодеках и не в параметрах ffmpeg , а в файле "ffserver.conf"?
  • Вопрос задан
  • 6231 просмотр
Пригласить эксперта
Ответы на вопрос 1
@Trataranaga
Проблема в формате mp4, который не может транслироваться.
"muxer does not support non seekable output".

Можно использовать ogg или webm.
Либо резать поток на кусочки mp4 и скармливать их плееру - но это уже отдельная история.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы