Почему слияние двух сетевых потоков в ffmpeg вызывает ошибки RTP? - PullRequest
0 голосов
/ 27 декабря 2018

Я хочу взять видеопоток из сетевого потока A, а аудиопоток из сетевого потока B.

Я попробовал команду:

ffmpeg -i rtsp://192.168.1.1 -i http://192.168.1.2 -c copy -map 0:v:0 -map 1:a:0 -f mp4 out.mp4

, которая постоянно вызывает следующееошибки:

[rtsp @ 0x564b44779f60] max delay reached. need to consume packet
[rtsp @ 0x564b44779f60] RTP: missed 591 packets

В то время как команды

ffmpeg -i rtsp://192.168.1.1 -c copy -f mp4 out.mp4

и

ffmpeg -i http://192.168.1.2 -c copy -f mp3 out.mp3

работают без проблем.

Видеопоток - HEVC,аудио поток MP3.Чего мне не хватает?

1 Ответ

0 голосов
/ 13 февраля 2019

Чтобы ответить на мой собственный вопрос:

Похоже, потеря пакетов увеличивается при использовании двух или более источников одновременно.Если кто-то знает почему, ответ на этот вопрос все равно будет оценен.

Однако потерю пакетов, очевидно, можно предотвратить, используя TCP в качестве транспортного протокола для RTSP:

ffmpeg -rtsp_transport tcp -i rtsp://...

, и я получаюеще лучшие результаты, если дополнительно увеличить thread_queue_size:

-thread_queue_size 1024

Обе упомянутые опции являются опциями ввода и должны идти до -i.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...