29得票1回答
了解视频帧中的PTS和DTS

在从avi转码到mp4(x264)时,我遇到了fps问题。最终发现问题出在PTS和DTS值上,因此在调用av_interleaved_write_frame函数之前添加了12-15行代码:1. AVFormatContext* outContainer = NULL; 2. avforma...

15得票1回答
如何创建解码器的完整副本?

我正在编写一个视频解码器(使用FFMPEG/AVCodec)来解码自定义实现的MPEG4视频流。这个视频流的特殊之处在于它可以分成许多“子”流,基于同一个父流创建许多P帧。我正在尝试解码的视频流实际上是一种“视频树”。类似这样:I <--P <--P <-----------...

13得票4回答
ffmpeg::avcodec_encode_video如何设置h264的PTS?

我正在尝试使用libavcodec将视频编码为H264格式。 ffmpeg::avcodec_encode_video(codec,output,size,avframe); 返回了一个错误,指出我没有正确设置avframe->pts的值。我已经尝试将它设置为0、1、AV_NOPTS_VA...

8得票2回答
FFMPEG解码过慢(avcodec_send_packet() / avcodec_receive_frame())

我正在使用ffmpeg库来解码、缩放和重新编码MPEG传输流中的视频。我刚刚从源代码重新编译到v3.3.2,并从旧的avcodec_decode_video2() API更改为新的send/receive API。无论是旧API还是新API,都会非常慢地解码视频。 25fps的视频=每40m...

7得票2回答
FFmpeg中的avcodec_send_packet()是用来做什么的?

我正在尝试对一款播放视频的软件进行优化,该软件内部使用FFmpeg库进行解码。我们发现在某些大型(4K,60fps)视频上,解码一帧的时间有时比应该显示该帧的时间还要长;不幸的是,由于问题领域的限制,简单地缓冲/跳过帧不是一个选项。 然而,我们发现FFmpeg可执行文件能够很好地解码这个问题...