Прохождение FFmpeg транспортного потока MPEG вызывает ошибки и сбои в потоке
2456
UnbescholtenerBuerger
Unbescholtener Bürger вернулся с другим вопросом FFmpeg. Моя цель - запустить экземпляр FFmpeg, который принимает транспортный поток mpeg через RTP, выполняет произвольные операции с полученным потоком, такие как перекодирование или фильтрация, а затем передает измененный транспортный поток через RTP.
Однако я не могу заставить его работать даже в самой базовой конфигурации: у меня есть файл .ts, который содержит одну программу, состоящую из одного видео и одного аудиопотока. Я использую экземпляр FFmpeg для потоковой передачи этого файла на localhost:
С ffplay я подтверждаю, что это работает правильно:
ffplay -i rtp://127.0.0.1:5003
Результат выглядит хорошо, звучит хорошо, не вызывает сообщений об ошибках на консоли.
Теперь я пытаюсь вставить другой экземпляр FFmpeg между ними, и дела идут вниз. Я просто хочу, чтобы FFmpeg скопировал поток с порта 5003 на порт 5005 без дальнейшей обработки или транскодирования:
Я получаю много повторяющихся сообщений об ошибках на этой консоли, и когда я наблюдаю за потоком через порт 5005 с помощью ffplay, появляется много артефактов, сбоев и выпадений. Консольный вывод выглядит по большей части так:
Итак ... есть идеи, что пошло не так и как это исправить? Взгляд на монитор ресурсов не указывает на высокую загрузку процессора, памяти или сети.
Можете ли вы предоставить пример файла .ts?
6 лет назад
0
Я мог бы, но это не будет законно, я думаю. Я скачал Bronski Beat - Smalltown Boy с YT и использовал FFmpeg, чтобы конвертировать его в .ts. В любом случае, это не имеет значения, потому что я действительно нашел виновника.
UnbescholtenerBuerger 6 лет назад
0
1 ответ на вопрос
0
UnbescholtenerBuerger
Поэтому, очевидно, моей проблемой был -reфлаг в команде, которая запускает сквозной экземпляр FFmpeg.
Если бы я заглянул в официальную документацию заранее, мне не пришлось бы задавать этот вопрос:
-re (Вход)
Чтение ввода с частотой кадров. В основном используется для имитации устройства захвата или живого потока ввода (например, при чтении из файла). Не следует использовать с реальными устройствами захвата или живыми входными потоками (где это может привести к потере пакетов).