У меня есть несколько файлов FLV, которые на самом деле представляют собой одну последовательность. Я хотел бы объединить их в один файл, например part1.flv, part2.flv, part3.flv становятся final.flv.
Какой самый простой способ сделать это без потери качества видео?
Я бы предложил mencoder
. Это часть mplyaer и может использоваться в командной строке:
mencoder -oac copy -ovc copy -o final.avi part1.flv part2.flv part3.flv
Обычно -oac
и -ovc
предназначены для специальных аудио и видео кодеков. В этом случае команды говорят, что просто должны (поток) скопировать их. Опция -o
дает имя выходного файла.
Вывод может быть принудительно переведен в FLV, но в настоящее время он содержит ошибки, и вы получите следующее сообщение, если попытаетесь добавить -of lavf
:
REMEMBER : MEncoder's В настоящее время мультиплексирование в libavformat нарушено и может генерировать НЕПРАВИЛЬНЫЕ файлы при наличии B-кадров. Более того, из-за ошибок MPlayer будет проигрывать эти НЕПРАВИЛЬНЫЕ файлы, как будто ничего не случилось!
blockquote>Согласно вашему комментарию вы получили ошибку:
Аудиоформат 0x4134504d несовместим с '-oac copy', пожалуйста, попробуйте вместо '-oac pcm' или используйте '-fafmttag', чтобы переопределить его.
blockquote>Согласно записи в блоге , это вызвано попыткой конвертировать аудио AAC. В этом случае вы можете попробовать
-oac mp3lame
.В противном случае добавьте опцию
-fafmttag
плюс код для вашего аудиокодека. Обычно у mplayer есть файлetc/codecs.conf
. Там вы найдете, какой код отображается на какой кодек. Этот файл не всегда существует.Если это не работает для вас, вы также можете перекодировать аудио. Однако это слишком сложно описать в этом ответе. Вам нужно будет посмотреть справочную страницу или задать другой вопрос здесь.