Как обрезать один файл TS и согласиться со всем после с помощью ffmpeg - PullRequest
0 голосов
/ 22 мая 2019

У меня есть несколько файлов ts (h264, AAC), и я хочу быстро вырезать часть без перекодирования больше, чем первая и последняя порция.Затем я хочу собрать их вместе и создать mp4.

Итак, у меня есть 1.ts - 100.ts, и каждый кусок составляет примерно 10 секунд.Я хочу сократить с 1:05 до 10:05 минут.У меня есть код, который находит первый и последний необходимый файл TS (скажем, это 11.ts для 1:05 и 61.ts для 10:05)

Я запускаю это, чтобы обрезать первый файл TS только длянужная мне часть:

ffmpeg -i 11.ts -ss 5.0 -c:v libx264 -c:a aac 11.new.ts

Примерно то же самое происходит с 61.ts для создания 61.new.ts.

Теперь я хочу конкатить 11.new.ts, 12.ts, 13.ts, ..., 61.new.ts в mp4 без необходимости перекодировать каждый фрагмент.В настоящее время результирующее видео воспроизводит оставшуюся часть первого блока просто отлично.После этого аудио продолжается, но видео больше нет.Я уверен, что это как-то связано со смещениями времени начала, которые есть в метаданных каждого файла ts, но я не могу понять, как это решить.Это вообще возможно?И это лучший способ быстро сделать что-то подобное?

...