Encoding 为什么编码到H264时会丢失PTS信息?

Encoding 为什么编码到H264时会丢失PTS信息?,encoding,ffmpeg,h.264,pts,Encoding,Ffmpeg,H.264,Pts,我有一个视频文件,其中包含以下视频流: ffmpeg-i original.avi 流#0:0:视频:h264(主)(h264/0x34363248)、yuv420p(电视、, bt709,渐进式),1920x1080[SAR 1:1 DAR 16:9],4204kb/s,59.94 fps,59.94待定,59.94待定,59.94待定 我可以通过运行以下命令获取PTS信息: ffprobe-v0-of csv=p=0-select\u streams v-show\u entries pac

我有一个视频文件,其中包含以下视频流:

ffmpeg-i original.avi

流#0:0:视频:h264(主)(h264/0x34363248)、yuv420p(电视、, bt709,渐进式),1920x1080[SAR 1:1 DAR 16:9],4204kb/s,59.94 fps,59.94待定,59.94待定,59.94待定

我可以通过运行以下命令获取PTS信息:

ffprobe-v0-of csv=p=0-select\u streams v-show\u entries packet=pts\u time original.avi

我一行一行地得到每个帧的PTS:

0.016683
0.116783
0.033367
0.050050
0.166833
0.083417
0.100100
0.216883
...
现在,我需要将视频编码为H264,并能够在之后获得相同的PTS信息,因此我使用:

ffmpeg -i original.avi -vcodec libx264 output.avi
使用此视频流:

流#0:0:视频:h264(高)(h264/0x34363248), yuv420p(渐进式),1920x1080[SAR 1:1 DAR 16:9],2289 kb/s,59.94 fps,59.94待定,59.94待定,119.88待定

但是,当我试图从
output.avi
获取PTS信息时,我只得到:

N/A
N/A
N/A
N/A
N/A
N/A
...

为了保留PTS信息,我应该在命令中更改什么?

AVI实际上不支持H.264


有一些黑客的地方,使其工作,但这并不奇怪,你会有一些副作用。考虑使用MP4或MKV代替。

我猜AVI格式与它有关。不管怎样,您是否尝试过
-fflags+genpts