Ищу точно в ffmpeg

1470
Shlomi Uziel

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

  1. Существует ли эффективный способ точного поиска без перекодирования в большинстве файлов?
  2. Это кажется странным, поскольку проигрыватель Windows Media в большинстве случаев успешно справляется с этой задачей.

Что они реализуют по-другому?

Редактировать:

Например, для примера sample.mp4 длиной 5 секунд:

  1. Рабочая (с транскодированием)

    ffmpeg -ss 00:00:03 -t 1 -i sample.mp4 -c:v libx264 -movflags +faststart -c:a aac -strict -2 -b:a 192k out.mp4 
  2. Не работает (без транскодирования) - создаст видео с начала файла.

    ffmpeg -ss 00:00:03 -t 1 -i sample.mp4 -c:v copy -c:a copy out.mp4 

Используемая версия ffmpeg: 2.8.4

0
Практикой я обнаружил, что добавление параметра поиска после ввода в некоторых случаях было более точным, чем использование быстрого поиска (до). Это будет намного медленнее, так как файл должен быть декодирован до вашей точки поиска, но попробуйте `` `ffmpeg -i input.mp4 -ss xx: xx: xx``` вместо того, чтобы ставить` `` -ss` `` до ввода. Ely 8 лет назад 0
Пожалуйста, смотрите http://superuser.com/questions/458761/accurately-cut-video-files-from-command-line/458804#458804 - а также, что именно вы пробовали с ffmpeg? Как это не удалось? Какую версию вы использовали? (В идеале, покажите вывод командной строки.) Если бы вы могли [отредактировать] свой пост, чтобы включить более конкретный вопрос, мы можем помочь вам лучше. Обратите внимание, что WMP, скорее всего, перекодирует файл, что упрощает точный поиск. slhck 8 лет назад 0

0 ответов на вопрос

Похожие вопросы