я никогда не могу заставить решение ptQa работать, в основном потому, что я никогда не могу понять, что означают ошибки из фильтров или как их исправить. Мое решение кажется немного неуклюжим, потому что оно может оставить беспорядок, но если вы бросаете его в сценарий, очистка может быть автоматизирована. Мне также нравится этот подход, потому что, если что-то пойдет не так на шаге 4, вы получите завершенные шаги 1-3, поэтому восстановление после ошибок немного эффективнее.
базовая стратегия использует -t
и -ss
чтобы получить видео каждого сегмента, который вы хотите, а затем объединить все части для вашей окончательной версии.
скажем, у вас есть 6 сегментов ABCDEF каждые 5 секунд, и вы хотите (0-5 секунд), C (10-15 секунд) и E (20-25 секунд) вы бы это сделали:
ffmpeg -i abcdef.tvshow -t 5 a.tvshow -ss 10 -t 5 c.tvshow -ss 20 -t 5 e.tvshow
или
ffmpeg -i abcdef.tvshow -t 0:00:05 a.tvshow -ss 0:00:10 -t 0:00:05 c.tvshow -ss 0:00:20 -t 0:00:05 e.tvshow
что будет делать файлы.детективный сериал, с.детективный сериал и электронной.телепроекте. The -t
говорит как долго каждый клип, так что если c-30 секунд вы могли пройти за 30 или 0:00:30. Тот -ss
опция говорит, как далеко, чтобы пропустить в исходное видео, так что это всегда относительно начала файла.
затем, как только у вас есть куча видеофайлов, я делаю файл ace-files.txt
такой:
file 'a.tvshow'
file 'c.tvshow'
file 'e.tvshow'
обратите внимание на "файл" в начале и убежал имя файла после этого.
команда:
ffmpeg -f concat -i ace-files.txt -c copy ace.tvshow
что concats все файлы abe-files.txt
вместе копируем свои аудио и видео кодеки и делаем файл ace.tvshow
что должен просто будьте секциями a, c и e. Тогда просто не забудьте удалить ace-files.txt
,a.tvshow
,c.tvshow
и e.tvshow
.
отказ от ответственности: я не знаю, как (в)эффективна по сравнению с другими подходами в плане ffmpeg
но для моих целей он лучше работает. Надеюсь, это кому-нибудь поможет.