Ошибка ffmpeg: данные не похожи на пакеты RTP, убедитесь, что используется мультиплексор RTP

Я пытаюсь транслировать видео и аудио с usb-камеры и микрофона, бросая ffmpeg через ffserver. Я получил 2 ошибки:
- ffmpeg работает, но показывает "Данные не похожи на пакеты RTP, убедитесь, что мультиплексор RTP используется" - я могу подключиться к ffserver только для статических файлов

вот файл server.conf:

HTTPPort 1235
RTSPPort 1234
HTTPBindAddress 0.0.0.0
MaxHTTPConnections 2000
MaxClients 1000
MaxBandwidth 100000
#CustomLog –

########################################
##  static file for testing
########################################
#HTTP requests
<Stream media.flv>
File "/home/username/media.flv"
Format flv
</Stream>

#RTSP requests
<Stream media.mpg>
#preconverted file:
File "/home/username/media.mpg"
Format rtp
VideoFrameRate 30
VideoCodec libx264
VideoSize 720x720
StartSendOnKey
Preroll 0
</Stream>

##################################################
## usb cam
###################################################
<Feed test.ffm>
File /tmp/test.ffm
FileMaxSize 20K
ACL allow 192.168.1.149
</Feed>

<Stream usbcam.mpg>
Feed test.ffm
Format rtp
VideoFrameRate 25
VideoCodec libx264
VideoSize 720x720
PreRoll 0
StartSendOnKey
</Stream>

мой ffmpeg cmd

ffmpeg -s 720x720 -f video4linux2 -i /dev/video0 -r 25 -f alsa -i hw:0 -c:v libx264 -c:a aac -strict -2 rtp://192.168.1.149:1234/test.ffm

кажется, работает, но показывает эту ошибку:

«Данные не похожи на пакеты RTP, убедитесь, что используется мультиплексор RTP»

когда я транслирую статические файлы, он работает, но когда я пытаюсь воспроизвести поток usbcam, бросаю ffplay и vlc, ничего не работает

заранее спасибо,


person SOFuser    schedule 29.06.2016    source источник


Ответы (1)


вы можете попробовать сообщить ffmpeg, какой у вас формат выходного мультиплексора. (-f rtp)

ffmpeg -s 720x720 -f video4linux2 -i /dev/video0 -r 25 -f alsa -i hw:0 -c:v libx264 -c:a aac -strict -2 -f rtp rtp://192.168.1.149:1234/test.ffm
person Fabio Pereira    schedule 29.06.2016
comment
Я уже пробовал это, но я получил: Не удалось записать заголовок для выходного файла № 0 (неверные параметры кодека?): Неверный аргумент Спасибо за помощь - person SOFuser; 30.06.2016
comment
Я думаю, что вам нужно использовать один порт для каждого потока, например: ffmpeg -s 720x720 -f video4linux2 -i /dev/video0 -r 25 -f alsa -i hw:0 -c:v libx264 -an -f rtp rtp://192.168.1.149:1234/test.ffm -vn -c:a aac -strict -2 -f rtp rtp://192.168.1.149:1235/test.ffm, - person Fabio Pereira; 30.06.2016
comment
используя эту команду, ffmpeg и ffserver работают, но ffplay продолжает буферизоваться и не выдает никаких результатов. Я постараюсь отправить на носители отдельно и мультиплексировать их. еще раз спасибо - person SOFuser; 01.07.2016