[ 我做了什么 ]
我试图通过测量不同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
~/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应该意味着时间,似乎以下消息不是很有帮助.(不确定其他数字的含义).
我想更改轴的物理尺寸。我已经绘制了xticks,希望能够增加它们之间的间距,从而增加轴的物理尺寸,但是没有运气。我想要一个结果图像,该图像可能很大,但是放大后,我可以看到各个点和绘制的箭头。我尝试更改图形的大小,但是它只能创建更大的图像,具有更高的分辨率,并且细节级别与以前相同,放大时无法看到更多点。
有人可以告诉我如何增加轴的物理尺寸,以便在放大保存的图像时(现在我将其保存为pdf格式)可以看到各个点吗?非常感谢