Видеорез с отсутствующими кадрами в FFmpeg

Я пробовал каждую возможную команду, чтобы вырезать часть (1-3 минуты) видео H.264 mp4, но он получается неплохим и плохим. Мое видео – 29,97 FPS, 1080p, ~ 80 минут, ~ 3,5 ГБ и скорость передачи ~ 6200 КБ / с. Проблема в том, что мой вывод начинается без видео в течение 1-2 секунд, а затем прекращается, но звук начинается с 0 секунд. Он воспроизводится хорошо синхронизированным (аудио и видео) в любом медиаплеере, но при использовании его в другом месте (рендеринг для производственных целей), например, в Adobe AE, медиакодере или видео конвертере, готовое видео FINAL начинается с 0 секунд, когда звук начал. Поэтому звук заканчивается на 1-2 секунды вперед, и я не хочу этого. Это также происходит при обрезке видео YouTube в Интернете по адресу http://clipconverter.cc

Моя команда выглядит следующим образом:

ffmpeg -ss 01:19:22.000 -t 00:1:43.000 -i "in.mp4" -acodec copy -vcodec copy out.mp4

Я даже попытался положить -ss после -i, но я получаю те же результаты. Кроме того, если у меня уже есть видео с этой проблемой, что я могу сделать, чтобы исправить это? Что я мог бы сделать в Adobe AE для этого? Этот сайт: https://ubuntuforums.org/showthread.php?t=1824250 говорит, что его нужно разрезать на «ключевые кадры». Если да, то как это сделать в FFmpeg? Как их найти? Кто они такие? Я не собираюсь EVER повторно кодировать (с -c: v x264), он занимает слишком много времени и повторно сжимает видео с артефактами.

Я использовал как статические, так и общие сборки FFmpeg. Также используются стабильные версии 3.2.2 и ffmpeg-20170112-6596b34-win64-static, не повезло.

TLDR: у моего видео, которое я разрезал в FFMPEG, вначале отсутствовали фреймы (даже не черные или пустые), что приводит к несинхронизированному аудио / видео при окончательном рендеринге в любом программном обеспечении для рендеринга видео.

  • Присоединение H264 * без * повторного кодирования
  • Как импортировать файлы MOV, закодированные h.264, в Windows Movie Maker?
  • Ffmpeg synchonization libfdk_aac (или libfacc) и libx264
  • Каковы различия между профилями H.264?
  • Какие параметры следует искать для уменьшения размера файла .MOV?
  • Как я могу перекодировать видео H.264 с минимальной потерей качества?
  • FFMPEG: как добавить водяной знак к видео?
  • Как я могу конвертировать и восстанавливать MPEG-TS (захват DVB-S) для лучшего воспроизведения?
  • One Solution collect form web for “Видеорез с отсутствующими кадрами в FFmpeg”

    использование

     ffmpeg -ss 01:19:22 -t 00:1:43 -i "in.mp4" -c copy -avoid_negative_ts make_zero out.mp4 

    В большинстве сжатых видео используется временное сжатие, поэтому кадры полагаются на другие кадры для полного декодирования. Если вы обрезаете видео с использованием режима copy , некоторые кадры после вашей точки могут полагаться на фреймы перед точкой для декодирования. Если да, то эти рамки должны быть включены. Этим кадрам назначаются отрицательные временные метки, поэтому хорошие видеоплееры используют их для декодирования, но не для представления. Видео отображается с точки входа далее. Поскольку все звуковые кадры являются ключевыми кадрами, то настройка звука является точной и сохраняется синхронизация A / V.

    Видимо, видеоредакторы, похоже, не обращают внимания на PTS, поэтому они отображают все фреймы, хранящиеся в файле. Моя команда выше обеспечивает положительный TS для всех сохраненных кадров, поэтому видео / аудио будет оставаться в синхронизации *.

    * Не совсем верно. Для аудиокодеков на базе MDCT, таких как MP3 / AAC, предыдущий кадр включен с отрицательным PTS, так как он необходим для декодирования. Возможно, ваш NLE будет декодировать этот кадр, что приведет к асинхронному доступу 21-23 мс. Обходным путем является перекодирование звука.

    Interesting Posts

    Функция FTP в командной строке не работает

    Автоматическая пересылка писем в gmail из Outlook

    Обновление для Windows 10 не работает (0x80080005), и служба обновления Windows не запускается (0x80070002)

    Mac Air Bootcamp Установка Windows 7 и USB3 Препятствия

    Chrome не отображается в списке браузеров при настройке по умолчанию в Windows 10

    Tmux: включить прокрутку мыши в vim вместо буфера истории

    Как удалить / перезагрузить подсистему Windows для Linux в Windows Insider Build 14316

    Почему я должен использовать Vagrant вместо VirtualBox?

    Как подавить предупреждения «низкой памяти» в Vista Home Premium при работе без файла подкачки?

    Если я использую «компактный» для сжатия диска NTFS, как я могу избежать сжатия сжатых файлов?

    Как скопировать все песни с моего iPod (nano 4g) на компьютер бесплатно

    Как остановить ноутбук от разгона?

    3G + ADSL комбинированная скорость?

    Как установить приоритет сетевых подключений в Ubuntu?

    Являются ли значки папок в панели закладок Chrome?

    Давайте будем гением компьютера.