Создание вывода TS из очень короткого входа MP4 (AVC) - PullRequest
0 голосов
/ 01 ноября 2018

Я попытался использовать ffmpeg для преобразования небольшого (2 кадра) файла MP4 с кодировкой AVC следующим образом:

ffmpeg -y -noautorotate -loglevel 99 -i inputfile.mp4 -потоки 0 -map_chapters -1 -write_tmcd 0 -метаданные местоположения = -max_muxing_queue_size 2000 -f mpegts -filter_complex "[0: v: 0] yadif = чересстрочный, масштаб = 162: 288: флаги = бикубический, setdar = 0,5625 [основной]; [основной] concat = n = 1: v = 1: a = 0 [cat_v] "-an -sn -map" [cat_v] " -vcodec libx264 -profile: v baseline -level 3 -b: v 272k -maxrate 272k -bufsize 2448k -preset medium -x264opts ref = 1: keyint = 90: no_scenecut -r 30.0 -vsync 1 -метаданные: s: v rotate = -pix_fmt yuv420p outputfile.ts

Но я получаю файл TS, который не может быть воспроизведен ни одним плеером. Я попытался использовать TSReaderLite для анализа outputfile.ts, но обнаружил, что получаю ограниченную информацию: всего 4 PID - PID 0x000 - PAT (метаданные программы), PID 0x0011 - SDT (таблица описания службы), PID 0x0100 - неизвестно, PID 0x1000 - неизвестно.

Есть ли известная проблема с выходами TS, когда у нас такие короткие файлы?

1 Ответ

0 голосов
/ 06 ноября 2018

Добавить -mpegts_flags pat_pmt_at_frames. Интервал по умолчанию составляет 40 пакетов, что слишком много для коротких файлов, подобных этим. Вы можете получить ошибку декодирования, но это из потокового зонда. Это не влияет на воспроизведение здесь.

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