小编Ann*_*y G的帖子

如何通过ffmpeg对帧的解码进行基准测试?

[ 我做了什么 ]

我试图通过测量不同ffmpeg解码器的性能

  • 计算函数调用avcodec_decode_video2(..)在ffmpeg.c中占用多长时间并以下列方式运行ffmpeg二进制文件

~/bin/ffmpeg -benchmark_all -loglevel debug -threads 0 -i ~/Documents/video-input.h264 -c:v libx265 -x265-params crf=25 video-output.hevc

  • 并通过计算ffplay.c中相同函数的使用时间和以下方式运行ffplay二进制文件

~/bin/ffplay ~/Documents/video-input.h264

根据我的理解,无论是转换视频还是播放视频,调用该函数的平均时间应该相同,因为我只测量解码该视频帧所需的时间.这是错误的做法吗?如果我不对,请告诉我.我得到的结果对我来说很奇怪 - 与ffplay二进制文件相比,对ffmpeg二进制文件的调用需要两倍.我曾尝试使用-threads 0和不使用ffmpeg二进制文件,但结果仍然相同(是ffplay的两倍).可能是因为ffplay二进制文件只是使用更多的线程?当我尝试使用时-threads 1,ffmpeg大约需要ffplay的10倍(这对我来说是有意义的,因为它之前使用了几个线程,现在它只使用1)

在我提出问题之前,我想让您知道我是视频处理和视频编码/解码过程的初学者.

[我的问题]

我想知道什么是一种准确的方法来衡量解码一个帧所需的时间(使用1个线程)?我应该只测量avcodec_decode_video2(..)使用ffmpeg二进制文件调用函数所需的时间,而不是ffplay二进制文件吗?结果会更准确吗?我也尝试启用-benchmark_all -loglevel debug选项,但bench: 64537 decode_video 0.0如果0.0应该意味着时间,似乎以下消息不是很有帮助.(不确定其他数字的含义).

c video benchmarking ffmpeg

4
推荐指数
1
解决办法
5347
查看次数

如何增加matplotlib pyplot中轴的物理大小?

我正在绘制下图, 图形绘制

我想更改轴的物理尺寸。我已经绘制了xticks,希望能够增加它们之间的间距,从而增加轴的物理尺寸,但是没有运气。我想要一个结果图像,该图像可能很大,但是放大后,我可以看到各个点和绘制的箭头。我尝试更改图形的大小,但是它只能创建更大的图像,具有更高的分辨率,并且细节级别与以前相同,放大时无法看到更多点。

有人可以告诉我如何增加轴的物理尺寸,以便在放大保存的图像时(现在我将其保存为pdf格式)可以看到各个点吗?非常感谢

python matplotlib

1
推荐指数
1
解决办法
4491
查看次数

标签 统计

benchmarking ×1

c ×1

ffmpeg ×1

matplotlib ×1

python ×1

video ×1