Почему ffmpeg пропустил некоторые кадры, когда я добавил метки времени к видео - PullRequest
0 голосов
/ 09 января 2020

У меня есть видео в формате mp4, в которое я хотел бы добавить метки времени для каждого кадра.

Я использовал эту команду

ffmpeg -nostdin -i input.mp4 -c:v libx264 -vf "drawtext=x=(w-(max_glyph_w*13))/2: y=H-h/10:fontcolor=white:fontsize=h/14:box=1:boxcolor=0x000000AA:text='%{pts\\:hms}'" -y ./output.mp4

Есть несколько загадок, которые я не понимаю.

1) Почему кадры входного и выходного видео не идентичны? Я использовал эту команду ffprobe -select_streams v -show_frames <video> и вижу, что вещи типа pkt_pts_time отличаются.

2) Почему добавленные временные метки пропускают некоторые кадры? Например, это время PTS кадров, которое я получаю с помощью этой команды ffprobe -select_streams v -show_frames

pkt_pts_time=0.000000
pkt_pts_time=1.830156
pkt_pts_time=1.925833
pkt_pts_time=2.057400
pkt_pts_time=2.076322
pkt_pts_time=2.089900
pkt_pts_time=2.236044
pkt_pts_time=2.252844
pkt_pts_time=2.904300

В выводимом видео отсутствует кадр для pkt_pts_time=2.252844

Спасибо

...