Iframe FFDEC_H264丢弃非关键帧
我正在开发一个示例GStreamer应用程序来播放MPEG2TS视频 我的管道是: appsrc!h264parse!ffdec_h264!ffmpegcolorspace!ximagesink 如果我在不设置任何时间戳的情况下泵送数据,所有帧都将被播放Iframe FFDEC_H264丢弃非关键帧,iframe,ffmpeg,gstreamer,Iframe,Ffmpeg,Gstreamer,我正在开发一个示例GStreamer应用程序来播放MPEG2TS视频 我的管道是: appsrc!h264parse!ffdec_h264!ffmpegcolorspace!ximagesink 如果我在不设置任何时间戳的情况下泵送数据,所有帧都将被播放 videoBuffer = gst_app_buffer_new (rawVideo, bufSize, test_free_video, rawVideo); 但如果我将时间戳设置为缓冲区,则只播放I帧: videoBuffer = gst
videoBuffer = gst_app_buffer_new (rawVideo, bufSize, test_free_video, rawVideo);
但如果我将时间戳设置为缓冲区,则只播放I帧:
videoBuffer = gst_app_buffer_new (rawVideo, bufSize, test_free_video, rawVideo);
GST_BUFFER_TIMESTAMP(videoBuffer) = calc_timestamp(rawVideo);
calc\u timestamp()
是一个基于PES头信息计算时间戳的函数
从GST_日志中:
Dropping non-keyframe (seek/init)
Dropping non-keyframe (seek/init)
Dropping non-keyframe (seek/init)
上面的日志正在重复。我不知道为什么会这样?如有任何意见,将不胜感激
提前感谢,,
克兰蒂我终于找到了问题所在。计算非关键[p/b]帧的时间戳时出现问题,因为解码器正在丢弃所有非关键帧 如果您面临与我相同的问题,请重新检查发送到解码器的帧的时间戳计算