我知道如何将ffmpeg raw_video输出传输到我的程序中以执行一些基带处理,但我们如何做到这一点并将每帧的时间戳传递给程序。
例如,如果我写:
fmpeg -i input stream.ts -f rawvideo -an - | myprog -w 320 -h 240 -f 24.0 >> output.yuv
我只是按顺序接收每一帧,我认为它们的时间间隔是恒定的,是1/24秒。
在使用视频文件时提供实时时间戳,我可以先使用ffprobe提取时间信息,如下所示,并将pts文件作为附加参数提供给我的程序。
ffprobe –show_frames –select_streams v:0 input.ts | grep pkt_pts_time= >> output.pts
但我们可以要求ffmpeg转储整个解码样本,包括其信息吗?