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

Как уменьшить задержку при потоковой передаче видео FFmpeg?

на потоковое видео приложения между Linux server (FFmpeg) и клиент Windows (VLC player), заметная задержка около 10 секунд.

команда FFmpeg:

ffmpeg -re -f v4l2 -i /dev/video0 http://192.168.1.101:8090/feed1.ffm

VLC-плеер:

http://192.168.1.101:8090/test.swf

несмотря на то, что и сервер, и клиент запускаются вместе, VLC player задерживает воспроизведение потока примерно на 10 секунд, начиная с первого кадра, захваченного сервером. Для по этой причине постоянно возникает задержка в 10 секунд.

Я пытаюсь выяснить, что вызывает эту задержку:

  1. моя первая мысль заключается в том, что кодек задерживается с кодированием. В этом случае, какой кодек следует внести в файл конфигурации ffserver? Я экспериментировал со многими видеокодеками (rawvideo, flv, mjpeg), но тот же результат.

  2. во-вторых, есть ли параметр, который я мог бы включить в свою команду ffmpeg для управления задержка?

  3. С другой стороны, может эта задержка происходит из-за VLC player?

Я понимаю, что этот вопрос носит общий характер. Тем не менее, любая помощь, в случае, если вы столкнулись с подобной проблемой, будет высоко оценена.

файл конфигурации FFserver:

Port 8090
BindAddress 0.0.0.0
MaxClients 10
MaxBandwidth 40000  

<Feed feed1.ffm>
File /tmp/feed1.ffm
FileMaxSize 500M
ACL allow localhost
ACL allow 127.0.0.1
ACL allow 192.168.0.0 192.168.255.255
</Feed>

<Stream test.swf>
Feed feed1.ffm
Format swf
VideoCodec flv
VideoSize 640x480
VideoFrameRate 30
VideoBitRate 400 

AVOptionVideo flags +global_header
AVOptionVideo cpu-used 0
AVOptionVideo qmin 10
AVOptionVideo qmax 42

PreRoll 5
StartSendOnKey
NoAudio
</Stream>
5
задан dempap
источник

1 ответов

добавить параметр ffmpeg с -tune zerolatency и самый лучший вариант используя кодек x265, уменьшает VideoSize 640x480 к VideoSize 320x240.

наконец, измените плеер с vlc на ffplay

0
отвечен binaryCode 2016-03-30 08:09:15
источник