4

Я хочу передать файл в сеть, используя ffmpeg с исходной частотой кадров; поэтому я могу воспроизвести сгенерированный поток UDP, используя некоторый клиент получателя, такой как VLC. Я использовал эту команду:

ffmpeg -i "myfile.mpg" -sameq -re -f mpegts "udp://127.0.0.1:2000"

С помощью этой команды ffmpeg начинает потоковую передачу файла с очень высокой скоростью; такой, что потоковая передача файла продолжительностью около 30 минут заканчивается примерно через 40 секунд. Я хочу посмотреть файл в оригинальном курсе. Также я хочу контролировать скорость видео, чтобы проигрывать его быстрее или медленнее. Есть ли варианты сделать это? благодарю вас.

2 ответа2

3

-re следует использовать как параметр ввода, иначе он, вероятно, будет проигнорирован. Обобщение основного синтаксиса:

ffmpeg [input options] -i input [output options] output

Не используйте -sameq . См. Sameq не означает "то же качество" для подробного объяснения.

Вы пробовали просто копировать потоки вместо перекодирования? Добавьте -map 0 -codec copy качестве параметров вывода.

Что касается изменения скорости видео, вы можете попробовать мультимедийный фильтр setpts . Обратите внимание, что вы должны перекодировать, чтобы использовать этот фильтр. Примеры из документации:

Apply fast motion effect: -filter:v setpts=0.5*PTS
Apply slow motion effect: -filter:v setpts=2.0*PTS

Для аудио см. asetpts или atempo фильтры.

2

Ответ заключается в использовании опции -re . Должен быть указан с параметрами ввода (перед -i).

-re (вход)

Чтение ввода с частотой кадров. В основном используется для имитации устройства захвата или живого потока ввода (например, при чтении из файла). Не следует использовать с реальными устройствами захвата или живыми входными потоками (где это может привести к потере пакетов). По умолчанию ffmpeg пытается читать ввод (ы) как можно быстрее. Эта опция будет замедлять чтение входных данных до исходной частоты кадров входных данных. Это полезно для вывода в реальном времени (например, прямой эфир).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .