Recently I am reading the x264 source codes. Mostly, I concern the RC part. And I am confused about the parameters --bitrate and --vbv-maxrate. When bitrate is set, the CBR mode is used in frame level. If you want to start the MB level RC, the parameters bitrate, vbv-maxrate and vbv-bufsize should be set. But I don't know the relationship between bitrate and vbv-maxrate. What is the criterion of the real encoding result when bitrate and vbv-maxrate are both set? And what is the recommended value for bitrate? Equals to vbv-maxrate? Also what is the recommended value for vbv-bufsize? Half of vbv-maxrate? Please give me some advice.
相关问题
- My video has no keyframes, How it is possible?
- How to play H.264 video in browser?
- opencv single h264 raw frame as a binary string
- openCV - ffmpeg H264 and Webm error
- Cannot find yasm even though I have installed it
相关文章
- Decode H264 video using libavcodec, C
- How do i play H264 video?
- H264 WebRTC video streamed from ffmpeg through Jan
- How to get video height and width from a MP4 URL w
- broken ffmpeg default settings detected
- Render RTSP H.264 video stream using live555
- H264 RTP packet parsing [closed]
- Count frames in H.264 bitstream
bitrate address the "target filesize" when you are doing encoding. It is understandably confusing because it applies a "budget" of certain size and then tries to apportion this budget on the frames - that is why the later parts of a movie get a smaller amount of data which results in lower video quality. For example, if you have 10 seconds of complete black images followed by 10 second of natural video - the final encoded file will be very different than if the order was the opposite.
vbv-bufsize is the buffer that has to be completed before a "transmission" would occur say in a streaming scenario. Now, let's tie this to I-frames and P-frames: the vbv-bufsize will limit the size of any of your encoded video frames - most likely the I-frame.