Я пытаюсь извлечь часть видео с довольно точными значениями времени. Я попробовал следующие методы, которые не имели успеха.

ffmpeg -y -i <input_mp4> -ss 0.570 -f lavfi -i aevalsrc=0 -t 6.690000 -strict -2 -c:v libx264 -preset faster -crf 28 -acodec aac -map_metadata -1 -movflags faststart <output_mp4>
ffmpeg -y -ss 0 -i <input_mp4> -ss 0.570 -f lavfi -i aevalsrc=0 -t 6.690000 -strict -2 -c:v libx264 -preset faster -crf 28 -acodec aac -map_metadata -1 -movflags faststart <output_mp4>
ffmpeg -y -ss 0 -accurate_seek -i <input_mp4> -ss 0.570 -f lavfi -i aevalsrc=0 -t 6.690000 -strict -2 -c:v libx264 -preset faster -crf 28 -acodec aac -map_metadata -1 -movflags faststart <output_mp4>

Во всех этих командах я хотел извлечь видео длительностью 6,690000 секунд, но реальное полученное видео длилось 6,712000 секунд. Это неразрезанный вывод FFmpeg .

Ниже приведена команда FFprobe я использовал для получения продолжительности выходного видео.

ffprobe -i <extracted_video> -show_entries format=duration -v quiet -of csv="p=0"

Я имел в виду поиск документа для FFmpeg . Что-то не так с приведенными выше командами или есть какой-нибудь альтернативный способ извлечь видео с точной продолжительностью?

  • Частота кадров на входе: 60 кадров в секунду
  • Скорость передачи входного видео: 25380 кбит / с

1 ответ1

0

Посмотрите на этот ТАК вопрос ffmpeg: чрезвычайно точное извлечение сегментов видео
предложено Mulvya

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .