Обрезка и объединение медиа-файлов с помощью ffmpeg
1589
Anmol Singh Jaggi
Я пытаюсь удалить сегмент (00:26:00 - 00:32:30) из видеофайла input.mp4. Поскольку нет способа сделать это напрямую с помощью ffmpeg (насколько я знаю), я вместо этого обрезаю сегменты, которые мне нужны, в выводе, а затем объединяю их.
После небольшого поиска я обнаружил, что есть 2 способа сделать это:
Вывод команды: Link (Ошибка упоминается в строке 90: input.txt: Invalid argument)
Выходной файл, который я получаю в этом случае, составляет всего около 500 МБ (входной файл 900 МБ) и содержит первое видео + первые несколько минут второго видео.
Использование метода 1 trimтеперь работает, благодаря комментарию @ Mulvya относительно записи секунд в качестве единицы времени вместо нотации HH: MM: SS, поскольку она нарушена .
Но я все еще хочу знать, что случилось со вторым методом.
В методе `seek`, почему индикатор длительности` -t` во 2-й команде?
Gyan 8 лет назад
0
@Mulvya Определяет продолжительность отсечения. Теперь, когда вы упомянули это, я вижу, что допустил небольшую ошибку: вместо `-t 00: 53: 50` во второй команде это должен был быть` -t 00: 21: 20`.
Anmol Singh Jaggi 8 лет назад
0
@Mulvya Даже после исправления я получаю ту же ошибку. Алос, я исправил это вопрос.
Anmol Singh Jaggi 8 лет назад
0
`trim` не работает с HH: MM: SS [в настоящее время] (http://superuser.com/q/1061274/114058). Укажите в секундах. И что я имел в виду, так как вы хотите, чтобы файл был до конца, за исключением части в середине, нет необходимости указывать `t` во второй команде. Если ошибка все еще сохраняется, скопируйте весь файл в новый контейнер и попробуйте снова: `ffmpeg -i input -c copy new.mp4`
Gyan 8 лет назад
0
Хорошо, я понял, что ты пытаешься сказать. Я отредактировал вопрос соответственно.
Anmol Singh Jaggi 8 лет назад
0
@Mulvya Я попробовал то же самое после копирования в новый контейнер, но получаю ту же ошибку.
Anmol Singh Jaggi 8 лет назад
0
Другая потенциальная полезная информация: сегмент, который я пытаюсь удалить, выглядит поврежденным; видео кажется застрявшим в одном кадре с увеличением времени.
Anmol Singh Jaggi 8 лет назад
0
@Mulvya Проверьте правки в вопросе. Есть ли у вас какие-либо идеи относительно второго метода?
Anmol Singh Jaggi 8 лет назад
0
Кроме того, у меня есть еще один вопрос: приводит ли какой-либо из этих методов к снижению качества выходного видео?
Anmol Singh Jaggi 8 лет назад
0
1 ответ на вопрос
1
Gyan
Триммер фильтр не работает с HH: MM: SS в настоящее время . Укажите в секундах. Этот метод перекодирует видео, поэтому происходит снижение качества. Вы можете указать значение CRF, например, -crf 20для контроля качества. Более низкие значения дают лучшее качество, но большие файлы. От 18 до 28 - достойный выбор.
Что касается второго метода, попробуйте, указав точки вырезания в текстовом файле, т.е.
Спасибо за совет относительно качества. Что касается второго метода, он все еще не работает. Выходной файл вообще не содержит второго видео. Его размер практически аналогичен первому видео. [Здесь] (http://pastebin.com/ZMCEDPwj) - это журнал.
Anmol Singh Jaggi 8 лет назад
0
Извините, список concat должен ссылаться на весь входной файл.
Gyan 8 лет назад
0
Хорошо, я тоже это попробовал, но я получаю ту же ошибку `input.txt: Invalid аргумент`, при этом второй видеофайл отсутствует в выходном файле.
Anmol Singh Jaggi 8 лет назад
0