как объединить файлы ts в mp4 с помощью ffmpeg?

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

ffmpeg -i stream.m3u8 vid.mp4

это работает. Но это занимает очень много времени, потому что он в основном reëncodes все, даже если это уже правильный формат. Чтобы избежать reëncoding я могу использовать эту команду:

ffmpeg -i stream.m3u8 -vcodec copy -acodec copy vid.mp4

это прекрасно работает, когда я играю от начала до конца без извержение. Но когда я пропускаю назад или вперед, vlc имеет проблемы с созданием образа. Он не может правильно отображаться в течение нескольких секунд. Это очень раздражает.

мой вопрос: как я могу создать видео без полного reëncoding, но с хорошим VLC для перевода в любой точке?

15
задан Nicky Smits
02.04.2023 21:22 Количество просмотров материала 2535
Распечатать страницу

3 ответа

вы просите ffmpeg закодировать файлы в mp4, а не объединить их в один поток. Вам необходимо объединения на temp.ts, а затем преобразовать это в .mp4 С -codec copy.

кроме того, я считаю, что вам нужно преобразовать adts to aac на втором этапе -bsf:a aac_adtstoasc.

3
отвечен hdezela 2023-04-04 05:10

если не перекодировать, то вы не сможете изменять ключевые кадры и видео, в результате чего поведение вы описываете. Вы можете попробовать, однако, что-то вроде

ffmpeg -i stream.m3u8 -codec:v" "libx264" "-preset" "ultrafast" vid.mp4

имейте в виду, что то, что вы получаете в скорости, вы теряете в качестве, поэтому "быстро" может быть лучше...

0
отвечен ntg 2023-04-04 07:27

посмотреть мой вариант с ffmpeg mp4joiner

Screenshot

-1
отвечен Bogdik 2023-04-04 09:44

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх