ffmpeg на ffserver работает, но не может просматривать

У меня есть обычная веб-камера Windows, которую я пытаюсь транслировать

ffmpeg -f vfwcap -I 0 -vcodedc libx264 -tune zerolatency-b 900k -f mpegts udp://domain.com:8090

который появляется без ошибок. Я вижу много трафика, используя tcpdump на порту 8090.

ffserver настроен на сервере FreeBSD без настроенного брандмауэра

# cat /usr/local/etc/ffserver.conf| egrep -v "(^#.*|^$)"
HTTPPort 8090
HTTPBindAddress 0.0.0.0
MaxHTTPConnections 2000
MaxClients 1000
MaxBandwidth 1000
CustomLog -
<Feed feed1.ffm>
File /tmp/feed1.ffm
FileMaxSize 200K
ACL allow 98.124.117.129
</Feed>
<Stream test1.mpg>
Feed feed1.ffm
Format mpeg
AudioBitRate 32
AudioChannels 1
AudioSampleRate 44100
VideoBitRate 64
VideoBufferSize 40
VideoFrameRate 3
VideoSize 160x128
VideoGopSize 12
ACL ALLOW all
</Stream>
<Stream test.asf>
Feed feed1.ffm
Format asf
VideoFrameRate 15
VideoSize 352x240
VideoBitRate 256
VideoBufferSize 40
VideoGopSize 30
AudioBitRate 64
StartSendOnKey
</Stream>
<Stream test1-rtsp.mpg>
Format rtp
File "/tmp/feed1.ffm"
</Stream>
<Stream stat.html>
Format status
ACL allow localhost
ACL allow 192.168.0.0 192.168.255.255 98.124.117.129 0.0.0.0
</Stream>
<Redirect index.html>
URL http://www.ffmpeg.org/
</Redirect>

Порт работает

# netstat -an|grep 8090
tcp4       0      0 *.8090                 *.*                    LISTEN

Но когда я пытаюсь подключиться через VLC к ffserver

rtsp://persiaspalace.us:8090/feed1.ffm

соединение не удается. Проблем с сетью нет

Как настроить трансляцию веб-камеры с ffmpeg на ffserver для просмотра через VLC (или аналогичный)?


person nix    schedule 23.02.2017    source источник


Ответы (2)


Я считаю, что ваши порты перепутаны. FFserver использует порт 8090 для HTTP, RTSP. Установите RTSPPort в файле конфигурации вашего FFserver, а затем убедитесь, что вы нажимаете поток, а не канал (как указал QA Collective). Что-то вроде:

...
HTTPPort 8090
RTSPPort 5554
...

Убедитесь, что порт доступен, а затем попробуйте:

ffplay -loglevel debug "rtsp://persiaspalace.us:5554/test1.mpg"
person wminshew    schedule 13.04.2017

Вам нужно подключиться к потоку, а не к ленте. Фид — это входящее видео. Поток — это исходящее видео.

rtsp://persiaspalace.us:8090/feed1.ffm

должно быть

rtsp://persiaspalace.us:8090/test1.mpg или rtsp://persiaspalace.us:8090/test.asf или rtsp://persiaspalace.us:8090/test1-rtsp.mpg

person QA Collective    schedule 13.04.2017