飞思卡尔:为什么飞思卡尔iMX6上H264编码视频的比特率(和文件大小)与视频分辨率成反比?

时间:2018-07-13 09:59:22

标签: h.264 codec imx6

我正在尝试使用Gstreamer和h264编解码器在Freescale imx6上构建实时视频流嵌入式服务器。客户端(Linux PC)通过无线链接连接,该链接通过流传输服务器传输的视频。

最近,我进行了一些测试,以测量Freescale imx6处理器上h264编码文件的平均比特率。我使用了GStreamer元素“ testvideosrc”,将其运行了60秒钟,并使用了利用硬件编码器(h264)的gstreamer-imx插件对其进行了编码并保存了文件,并计算了比特率。 以下是命令:

timeout --signal=SIGINT 60s \
gst-launch-1.0 -ev videotestsrc pattern=18 ! \
video/x-raw,width=100,height=50,framerate=10/1 ! \
imxvpuenc_h264 bitrate=5 ! h264parse ! \
filesink location=60s.h264 && \
    echo $(( $(stat --format=%s 60s.h264) / 60 * 8)) 

该测试是在10 fps下针对不同的分辨率执行的,其比特率如下:

Resolution                                              BitRate
 100 x 50                                               ~120.3K
 320 x 240                                              ~93.7K
 640 x 480                                              ~52.7K
 1280 x 960                                             ~32.3K 

我试图了解H264编码器的行为,以了解为什么比特率与分辨率大小的增加成反比。我曾希望随着分辨率的提高,比特率也将提高,因此选择了较低分辨率的图像,以便通过无线链接进行流传输。 谁能解释,为什么h264 codedc存在此行为?还是我在理解比特率需求上有错。

0 个答案:

没有答案