私はH265 4K MP4 29.97fpsのビデオとGOPサイズのちょうど30フレームを持っています。 Iは使用開始から切断しようとすると:ffmpegがH265 vcopyでキーフレームを不正確に探している
ffmpeg -ss 1 -i INPUT.MP4 -vcodec copy OUTPUT_1SEC.MP4
ffmpeg -ss 2 -i INPUT.MP4 -vcodec copy OUTPUT_2SEC.MP4
ffmpeg -ss 3 -i INPUT.MP4 -vcodec copy OUTPUT_3SEC.MP4
ffmpeg -ss 4 -i INPUT.MP4 -vcodec copy OUTPUT_4SEC.MP4
ffmpeg -ss 5 -i INPUT.MP4 -vcodec copy OUTPUT_5SEC.MP4
ffmpeg -ss 6 -i INPUT.MP4 -vcodec copy OUTPUT_6SEC.MP4
ffmpeg -ss 7 -i INPUT.MP4 -vcodec copy OUTPUT_7SEC.MP4
ffmpeg -ss 8 -i INPUT.MP4 -vcodec copy OUTPUT_8SEC.MP4
ffmpeg -ss 9 -i INPUT.MP4 -vcodec copy OUTPUT_9SEC.MP4
出力ビデオ0(-ss 1〜4)、4(-ss 5〜8)または8秒(-ss 9)のいずれかで開始するように以下に示す:
だから、ffmpegのは何とか4秒の代わりに、1秒のGOPを検出するようです。それは普通ですか?
出力ビデオに正しいタイムコードを書き込むにはどうしたらいいですか? は例えば、私のような多くの組み合わせを試みた:
ffmpeg -ss 5 -i INPUT.MP4 -vcodec copy -timecode 00:00:05:00 OUTPUT_5SEC.MP4
ffmpeg -ss 5 -i INPUT.MP4 -vcodec copy -copyts OUTPUT_5SEC.MP4
ffmpeg -start_at_zero -ss 5 -i INPUT.MP4 -vcodec copy -copyts OUTPUT_5SEC.MP4
をしかし、それは私が(最初の行)を置くまたはゼロ(2最後の行)で始まり、正確なタイムコードを与えるのいずれか
をもともと、私が考えていました正確な秒(または数フレーム後)を探しているので、キーフレームを取得することがわかったので、出力が開始される正確なタイムコードを推測することができましたが、ffmpeg -ssはキーフレームに正確に基づいていないようです。多分私はここに何かを見逃しているのだろうか助けてくれてありがとう。
Additionnalに関する情報
私は、この4秒「キーフレーム間隔は」どこから来たかを知りたい理由です、スクリプトカットプロセスをしたいと思います。ここで
は私の入力のffprobe出力である:ここで
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'INPUT.MP4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2mp41
encoder : Lavf57.72.101
comment : DE=None, Mode=M, DSW=0001
location-{ : +XX.4914-0XX.5164+XX.000000/
location : +XX.4914-0XX.5164+XX.000000/
Duration: 00:01:45.31, start: 0.000000, bitrate: 100065 kb/s
Stream #0:0(eng): Video: hevc (Main) (hev1/0x31766568), yuv420p(tv, bt709), 4096x2160 [SAR 1:1 DAR 256:135], 100062 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 29.97 tbc (default)
Metadata:
handler_name : VideoHandler
Stream #0:1(eng): Subtitle: mov_text (tx3g/0x67337874), 2 kb/s (default)
Metadata:
handler_name : SubtitleHandler
は、私はGOPサイズを確認するために使用されるコマンドは( 'I' は、1,31,61で入力し...と 'P' であります)との間で:
ffprobe -i INPUT.MP4 -select_streams v -show_frames -show_entries frame=pict_type -of csv > OUTPUT.CSV
ffmpegのバージョンN-86330-gbd1179eとffmpegのバージョンN-86330-gbd1179e
編集:キーフレームは、MOOVボックスに、各第二あるがSample video here
「ffprobe -i INPUT.MP4 -select_streamsの出力は何ですか?-show_entriesフレーム= key_frame-of csv> OUTPUT.CSV' – Mulvya
'frame、I''は行1,31,61、...および' frame 、P '他のすべての行に – dsagilles
key_frame値はpict_typeではありません。すべてのIフレームがIDRフレームであるとは限りません。 – Mulvya