2

У меня есть много каталогов файлов фрагментов видео TS, которые я хотел бы преобразовать в H.264 в файлах MP4. Каждый каталог состоит из нескольких фрагментов, которые составляют одно видео, и существует индексный файл m3u8 для их упорядочивания.

index.m3u8       
segment1_0_av.ts 
segment2_0_av.ts 
segment3_0_av.ts 
segment4_0_av.ts 
segment5_0_av.ts 
segment6_0_av.ts 
segment7_0_av.ts 
segment8_0_av.ts 
segment9_0_av.ts

Я на Mac и могу использовать homebrew для установки всего, что нужно. Что такое командная строка, которую я могу использовать для преобразования вышеуказанного в один файл H.264? Командная строка позволит мне создать скрипт для автоматического преобразования нескольких папок позже.

1 ответ1

1

Вам необходимо сначала объединить сегменты, а затем кодировать. Файлы TS можно объединять так же просто, как объединяя их. Так что постарайтесь:

$ cat segment*.ts > onefile.ts
$ ffmpeg -i onefile.ts -c:v libx264 -preset medium -tune film -crf 23 \
    -strict experimental -c:a aac -b:a 192k output.mp4

В приведенном выше примере вам, очевидно, нужно получить "ffmpeg" из homebrew или macports или из свободно распространяемых двоичных файлов OSX.

Измените "-crf 23" на меньшее целое число в два шага 21,19, ... для более высокого качества, если вы не удовлетворены результатами - но значение по умолчанию 23 должно быть просто в порядке. Но не опускайтесь ниже 16, потому что это "практически без потерь" для нормальных стандартов человеческого восприятия.

Повеселись.

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