Допустим, я хочу вырезать часть видео mp4 и изменить его размер с 1280x720 до 854x480.
Моя команда выглядит так:
ffmpeg -ss 45 -i source.mp4 -ss 10 -to 20 \
-acodec aac -ar 44100 -ac 2 -c:v libx264 \
-crf 26 -vf scale=854:480:force_original_aspect_ratio=decrease,pad=854:480:0:0,setsar=1/1,setdar=16/9 \
-video_track_timescale 29971 -pix_fmt yuv420p \
-map_metadata 0 -avoid_negative_ts 1 -y dest.mp4
Проблема в том, что когда я надеваюне используйте опцию avoid_negative_ts
, в результате у видео возникают некоторые проблемы с временными базами и т. д., поэтому оно не может быть позже преобразовано другими библиотеками, например, Swift AVFoundation
.
Но когда я использую эту опцию - видео делаетне начинать с ключевого кадра.С помощью ffprobe я вижу start_time=0.065997
или другое время, отличное от 0.
Как я могу использовать опцию avoid_negative_ts
и получить видео, которое начинается с ключевого кадра?