jetson-ffmpeg对视频硬编解码实测记录

前言

在上篇:在jetson中调用NVENC与NVDEC模块进行硬编解码中我们已经实现了调用硬编解码,那么在这篇文章中,我们将详细记录如何在Jetson平台上对FFmpeg实际测试对视频进行硬编解码处理。

实测过程

在这里我们上传一段视频进行硬解码测试并使用非硬解码处理,视频信息如下表所示:

视频信息

参数 数据
大小 266MB
时长 00:39:07
帧宽度 854
帧高度 480
数据速率 769kbps
总比特率 941kbps
帧速率 30.00帧/秒

在jetson设备中我们区别与在win中调用cuda加速那样 -cv:h264_cuvid ,在jetson中是使用 -c:v h264_nvmpi 进行的调用硬编解码操作,这里的硬编解码不占用GPU的计算单元,属于单独的计算单元。

ini 复制代码
import os
import time

input_file = "input.mp4"
output_file = "output.mp4"
t1 = time.time()
# command_gpu = f"ffmpeg -c:v h264_nvmpi -i {input_file} -c:v h264_nvmpi {output_file}"
command_cpu = f"ffmpeg -c:v h264 -i {input_file} -c:v h264 {output_file}"

os.system(command_cpu)
print(time.time() - t1)

分别运行上述代码中的cpugpu部分代码,对其运行过程中的核心信息具有差异性的部分截图如下所示。我们可以看出二者在耗时方面的确是有一些差异。具体原因后续再逐步分析。

log信息截图:

jtop信息截图:

总结

我们通过一个对视频进行转解码的操作指令分别进行实验,可以得到在时间消耗上二者存在差异,在资源的消耗方面也存在差异。由于这里的ffmpeg是已经由jetson-ffmpeg和ffmpeg联合编译得到的,所以在编码阶段二者都调用了NVENC部分,或许这部分不够严谨。

相关推荐
小码的头发丝、21 分钟前
Django中ListView 和 DetailView类的区别
数据库·python·django
Chef_Chen1 小时前
从0开始机器学习--Day17--神经网络反向传播作业
python·神经网络·机器学习
千澜空1 小时前
celery在django项目中实现并发任务和定时任务
python·django·celery·定时任务·异步任务
斯凯利.瑞恩2 小时前
Python决策树、随机森林、朴素贝叶斯、KNN(K-最近邻居)分类分析银行拉新活动挖掘潜在贷款客户附数据代码
python·决策树·随机森林
yannan201903132 小时前
【算法】(Python)动态规划
python·算法·动态规划
EasyCVR2 小时前
EHOME视频平台EasyCVR视频融合平台使用OBS进行RTMP推流,WebRTC播放出现抖动、卡顿如何解决?
人工智能·算法·ffmpeg·音视频·webrtc·监控视频接入
蒙娜丽宁2 小时前
《Python OpenCV从菜鸟到高手》——零基础进阶,开启图像处理与计算机视觉的大门!
python·opencv·计算机视觉
光芒再现dev2 小时前
已解决,部署GPTSoVITS报错‘AsyncRequest‘ object has no attribute ‘_json_response_data‘
运维·python·gpt·语言模型·自然语言处理
好喜欢吃红柚子2 小时前
万字长文解读空间、通道注意力机制机制和超详细代码逐行分析(SE,CBAM,SGE,CA,ECA,TA)
人工智能·pytorch·python·计算机视觉·cnn
小馒头学python2 小时前
机器学习是什么?AIGC又是什么?机器学习与AIGC未来科技的双引擎
人工智能·python·机器学习