1.视频和视频帧:FFMPEG+Intel QSV硬解的转转换环境安装篇
2.Ubuntu20.04 ffmpeg添加 Intel核显QSV加速支持
3.视频和视频帧:Intel GPU(核显)的编解码故事
4.ffmpeg编译,支持QSV,换源CUDA
5.电脑转码哪个软件好用哪个软件qsv转mp4最好用
视频和视频帧:FFMPEG+Intel QSV硬解的工具环境安装篇
在进行视频处理项目时,需要集成FFMPEG的转转换QSV插件以利用Intel的集成GPU(核显)进行高效视频解码。本文将详细介绍在Linux环境下如何编译和安装QSV插件,换源包括Intel的工具dlopen 源码libva、media-driver和msdk源码编译方法,转转换以及如何成功集成到FFMPEG源码中。换源以下步骤将帮助你搭建起硬解环境,工具提升视频处理性能。转转换
FFMPEG作为多媒体文件处理的换源强大工具,不仅支持CPU处理(软解),工具还能够利用各种GPU卡进行硬件加速(硬解),转转换包括Intel的换源集成显卡、NVIDIA的工具N卡以及ARM的A卡。本文专注于介绍如何在Linux环境下集成FFMPEG的QSV插件。
首先,确保环境配置满足要求,包括GCC/G++版本4.9及以上、CMAKE版本3.6及以上。选择/opt作为库的编译安装路径。Intel官方提供了QSV插件的各个组件之间的关系图,这有助于在安装前对整个QSV框架有初步的认知。
安装前的准备工作包括安装gcc和cmake,检查内核版本确保不低于4..,或根据需要更新内核版本。在执行cmake --version时,可能遇到“bash: /usr/bin/cmake: No such file or directory”的错误,解决方法是将cmake安装路径从/usr/local/bin复制到/usr/bin下。
接下来,进行libva和media-driver的编译安装。libva和libva-utils安装在/opt/intel下,确保在编译时设置PKG_CONFIG_PATH为/opt/intel/libva/lib/pkgconfig,以解决libva-utils的依赖问题。media-driver安装后,显示结果应包含成功安装的组件。
在完成libva和media-driver的安装后,接下来是Intel Media SDK(MSDK)的源码编译。MSDK安装后,库文件位于默认路径下的/opt/intel/mediasdk目录。确保在动态链接库中添加该路径,并通过运行msdk编译后的可执行程序sample_xxx进行测试,验证安装是否成功。
最后,自定义编译FFMPEG源码以集成QSV插件。由于默认安装的FFMPEG不支持QSV选项,需要手动编译。确保在编译FFMPEG时,环境变量正确指向libmfx.pc文件,全景看盘源码以确保QSV插件被正确识别。通过运行自定义编译的FFMPEG可执行文件进行测试,验证集成是否成功。
本文通过详细步骤和注意事项,旨在帮助开发者高效搭建FFMPEG+QSV的环境,利用Intel的集成GPU进行视频解码加速。通过遵循上述指南,开发者可以避免一些常见错误,并顺利完成集成过程。希望本文内容能为视频处理项目的开发者提供实用的指导,提升视频处理效率。
Ubuntu. ffmpeg添加 Intel核显QSV加速支持
背景介绍
ffmpeg 是一款强大的视频编码解码工具,广泛支持多种硬件加速。然而,在 Ubuntu 系统上配置 Intel 核显的 QSV 加速支持却颇为复杂。之前尝试配置失败后,不少人因此放弃了。如今,随着二手服务器价格飞涨,利用旧电脑和 Linux 系统替代服务器进行编码工作变得愈发诱人。
撸起袖子前的心理准备
在着手配置前,你需要做好心理准备。Ubuntu 上配置 Intel 核显 QSV 需要面对复杂且有限的中文资料,以及英文资料中的官方资料不全与矛盾。尽管知乎上存在相关文章,但根据经验,编译 libva 的第一步就可能遭遇失败。官方文档提供了大致思路,但实际操作中还需要解决更多细节问题。
硬件环境
为了验证配置过程,作者尝试了三个不同的硬件环境,包括一台 Windows 主机和两台运行 Ubuntu . 的服务器。通过这些环境对比,可以更全面地理解配置过程中的关键步骤与可能遇到的挑战。
整体思路
配置 Intel 核显 QSV 加速环境的关键在于两大步骤:安装 Intel Media SDK 和配置 ffmpeg。安装 Intel Media SDK 包含两个子步骤:安装 libva 和编译 Media SDK。在 Ubuntu . 及之后版本,libva 可以通过 apt 安装,简化了部分步骤。编译 ffmpeg 时需要确保依赖库正确安装,并解决 libva 版本不兼容的问题。
Intel Media Driver for VAAPI 安装
在 Ubuntu . 系统上,使用 apt 安装 Intel Media Driver for VAAPI 非常便捷。对于更早的 Ubuntu 版本,可能需要通过手动编译安装。
Intel Media SDK 编译
编译 Intel Media SDK 的过程中,需要先安装依赖库,随后下载 SDK 源码并进行配置。软件下载论坛源码遇到 libva 版本不兼容问题时,需要使用旧版本的 MediaSDK。
ffmpeg 编译
完成 Intel Media SDK 配置后,接下来就是 ffmpeg 的编译。通过下载源码并执行编译命令,即可实现 QSV 加速支持。
总结
配置完成后,虽然大部分工作已经完成,但仍然存在一些问题,如编码某些视频时出现绿边现象。这需要进一步研究和调试。配置过程充满挑战,但通过实践,可以有效提升视频处理效率,替代昂贵的服务器硬件。
视频和视频帧:Intel GPU(核显)的编解码故事
一般提及基于“显卡或多媒体处理芯片对视频进行解码”为硬解码,本文将探讨如何利用Intel的核显,即集成GPU实现硬解码。提及QSV,全称为Quick Sync Video,Intel在年发布Sandy Bridge CPU时,一同推出了这项基于核显进行多媒体处理,包括视频编解码的技术。集成核显,官方称HD Graphics,最早在Sandy Bridge前一代制程已推出,但性能提升及充分发挥在Sandy Bridge时期。Haswell及后续制程发布更高级的Iris架构。最近Intel宣布将开发独立显卡,核显发展具体走向未知。
接手QSV项目时,预期会有很多相关资料,实则相反。因此,将记录自己学习过程。
本文将介绍:
I. Intel的核显(集成GPU):
了解核显很有必要,几个月前,作者对CPU的认识还停留在“南北桥”架构。以下内容若有不准确之处,欢迎指正。
查看Gen CPU结构图,首先看CPU核心部分。在整块CPU芯片中,核显占比不小,算力不容小觑。在没有独立显卡的笔记本上,可以运行大量大型游戏,虽偶有卡顿、源码 ppt 批量修改掉帧情况,整体表现已相对不错。
接下来,看官方给出的GPU内部结构图。GPU内部远比图上所示复杂,图中介绍的仅为部分Subslice芯片结构。GPU分为Slice部分和Un-Slice部分,Slice部分已介绍,接下来介绍Un-Slice部分。
作者找到了一张图,展示了在MFF上进行视频处理的流程:1) 首先在MFX/VDBOX模块上进行编解码;2) 接着送到VQE/VEBOX上做图像增强和矫正处理;3) 然后送到SFC上做scale和transcode;4) 最后送出到显示屏上展示。是否完全正确,作者这里做个记录。
推荐知乎文章《转》Intel Gen8/Gen9核芯显卡微架构详细剖析,深入浅出,关于thread dispatch的说明即出自该文。
最后,总结Intel集成GPU/核显结构图。
注意,这是skylake架构下的GT2/GT3/GT4 GPU结构图,X数字越大,集成的Slice和Unslice芯片更多,能力越强,价格也更高。
II. Quick Sync Video(QSV)技术:
QSV是Intel推出的将视频处理任务直接送到GPU上进行专门负责视频处理的硬件模块处理的软件技术。与CPU或通用GPU上的视频编码不同,QSV是处理器芯片上的专用硬件核心,这使得视频处理更为高效。
要了解QSV如何驱动GPU的MFF,首先看官方Intel® Video and Audio for Linux上的图。在介绍QSV之前,提及Intel在FFmpeg上提供的插件,包括ffmpeg-qsv、ffmpeg-vaapi和ffmpeg-ocl。详细描述如下:
· FFmpeg-vaapi提供基于低级VAAPI接口的硬件加速,在VA API标准下在Intel GPU上执行高性能视频编解码器、视频处理和转码功能。
· FFmpeg-qsv提供基于Intel GPU的硬件加速,基于Intel Media SDK提供高性能视频编解码器、视频处理和转码功能。
· FFmpeg-ocl提供基于工业标准OpenCL在CPU/GPU上的硬件加速,主要用于加速视频处理过滤器。
接下来,介绍QSV在ffmpeg2.8及以上版本的支持,经过MSDK、LibVA、UMD和LibDRM。分层进行分析:
· MSDK:Intel的沙盘战略游戏源码媒体开发库,支持多种图形平台,实现通用功能,可用于数字视频的预处理、编解码和不同编码格式的转换。源码地址为Intel® Media SDK,在Linux平台上编译使用。
· VA-API:Video Acceleration API,提供类unix平台的视频硬件加速开源库和标准。Intel源码地址在Intel-vaapi-driver Project,在Linux平台上使用。
· UMD:User Mode Driver的缩写,指VA-API Driver。Intel提供了两个工具:intel-vaapi-driver 和 intel-media-driver,推荐使用后者。
· LibDRM:Direct Rendering Manager,解决多个程序协同使用Video Card资源问题,提供一组API访问GPU。与VA-API,LibDRM是一套通用的Linux/Unix解决方案。
· Linux Kernel:Intel的Kernel是i driver,描述了libDRM和Kernel Driver之间的关系。
至此,整个关系图较为清晰。
III. FFMPEG+QSV解码:
QSV硬解的任务主要包括:
关于3-4步操作的详细实现,底层库会帮助完成。但作为一个优秀的工程师,研究FFMPEG源码依然十分重要。接下来,介绍如何使用FFmpeg API中的h_qsv解码器插件。
提及FFmpeg命令行使用方法,推荐阅读官方资料《QuickSync》或《Intel_FFmpeg_plugins》。
关于示例代码,作者曾遇到许多坑,总结为:多数中文博客不可靠,官方demo最可信。官方代码提供了两份可用:qsvdec.c和hw_decode.c。作者最早使用的是第一段代码,核心部分如下:
然而,这段代码存在问题。测试发现,对于赛扬系列一款CPU,在p视频上MSDK达到fps,理论上h_qsv平台上限也应为fps,但实际测试不到fps。排查后发现是av_hwframe_transfer_data()性能较弱。
最终,与Intel一起解决了性能问题。那么,性能提升方案为何是GPU-COPY技术做Memory-Mapping?
解释GPU和CPU渲染图像的过程,包括坐标系转化、纹理叠加等,仅需了解两点:
后者的数据组织方式能充分利用GPU的并行特性,加速图像处理、渲染。尽管存在一些纹理叠加的技术难题,但性能提升足以补偿。
接下来,解释Memory-Mapping:从Intel CPU架构图中可见,GPU和CPU位于同一芯片上,各自寄存器/缓存区有限,视频数据主要存储在内存上。GPU和CPU的数据组织方式不同,同一帧数据存于内存同一位置,数据格式不同,因此需要做Memory-Mapping。Memory-Mapping相较于Memory-Copy,减少了数据从内存区域A移动到区域B的操作,已经是优化。进一步优化:GPU完成Memory-Mapping以及数据从GPU到内存和CPU的操作。
在av_hwframe_transfer_data()内部,Memory-Mapping由CPU完成,性能受限于CPU,只能并行。修改后,整体性能从不到fps提升至fps,虽然与理想fps仍有差距,但满足性能需求。
据悉,Intel将在FFmpeg 4.3开源出这个解决方案。
写在后面:
了解GPU底层对应用开发人员帮助不大,毕竟了解芯片布线的重新设计、制程工艺提升、GPU-COPY技术的数据I/O提升等,也不能做什么。最终,芯片架构是芯片工程师的事,底层逻辑实现是嵌入式工程师的事。应用开发人员无法做出实质贡献,但作为知识库扩充或休闲阅读,了解也无妨。
希望有机会接触CUDA的编解码,深入学习N卡设计。
感谢因《视频和帧》系列文章结识的朋友,热心指出文章描述不准确的地方。文中如有不严谨之处,欢迎指正。
ffmpeg编译,支持QSV,CUDA
一、配置环境
下载mfx源码:github.com/lu-zero/mfx_
下载msys2,并安装
下载ffmpeg
二、编译库(位)
在系统开始菜单中启动MSYS2 MSYS,在终端中执行以下升级操作:
修改mfx_dispatch/ Makefile.am文件,把libintel_gfx_api-x.a和libintel_gfx_api_x.a修改为以.la为后缀;
拷贝mfx_dispatch和ffmpeg至msys2/home目录下;
打开msys位的命令行窗口,通过命令进入mfx_dispatch目录,进行以下操作:
编译nv-code-headers,编译之后会自动放在/usr/local下;输入命令 export PKG_CONFIG_PATH=path,path是mfx和nv-code-headers编译之后的路径
编译ffmpeg
在执行make -j8时,如果报错,则需要在./configure命令后面添加关联libmfx的头文件目录和库文件目录,如:--extra-cflags=-I/usr/local/include --extra-ldflags=-L/usr/local/lib。
通过msys位的命令行窗口进入ffmpeg目录,进行以下操作:
三、注意事项
如果不修改c,会出现编译不通过的情况;
编译过程中要注意位和位;
export PKG_CONFIG_PATH指定的路径一定要正确,否则在编译ffmpeg会出现libmfx not found错误。
编译ffmpeg命令中,加了--disable-demuxers指令后,会发现avformat_open_input无法打开音视频流。
编译位ffmpeg-qsv库,修改编译mfx的命令和ffmpeg的命令,将位的改为位。
libmfx编译命令:Linux 编译时:./configure --prefix=/usr/local/ffmpegx --enable-shared --extra-cflags="-m" --extra-ldflags="-m" --extra-cxxflags="-m",ffmpeg编译命令。
四、CentOS
原文 ffmpeg编译,支持QSV,CUDA_cuda qsv_那比小新的博客-CSDN博客
电脑转码哪个软件好用哪个软件qsv转mp4最好用
一 视频转换什么软件好
问题一:哪一种视频格式转换器最好 格式工厂转换后的画面模糊不清……
问题二:手机视频格式转换软件哪袭升个好用 最好用的手机视频转换软件,推荐用 MP4/RM转换专家
软件对各种手机的支持非常好,也对各种iPhone、iPad、iPod、PSP、PSV、MP4机等机子的官方格式支持非常赞。
支持转换各种乱禅裤视频格式,并转成各种手机支持的官方MP4、3GP、FLV、AVI、3G2等视频格式,视频画面非常清晰,可以在手机上播放!
导入视频,选择手机视频格式导出,比如:手机常用MP4格式,参数根据手机机型设置,导出的视频可以在手机哗简上播放。
国内首个引入多核CPU并发转换概念,最高支持核心并发转换,转换速度比其他软件还要快。
软件不像一些杂七杂八的软件一样捆绑大量广告和插件,这点不会影响系统的转换性能。
网络搜索 MP4/RM转换专家
问题三:用哪个软件转换视频格式最好 按清晰度来说的话,格式工厂是不错的选择了,但是有一个缺点,就是转换后的兆数有点大,有些视频还转换不了。另外转换软件如暴风转码,转换后的视频可以压缩大小,特别是对于flv的转换很到位,但有一个缺点就是转换后的视频不能保持原有视频比例,一律给你变成3:4的比例,郁闷。还有一个不怎么太好用的视频转换软件是total video converter,速度很快,但视频质量不好,不过有一个小小的优点,就是有些视频格式工厂和暴风转码转不了的,有total就可以转了,还有就是total适合转换成手机视频3gp、MP4等格式。这三款软件我是交替着按情况使用,一般来讲是用格式工厂。看个人的要求。
问题四:最好的视频转换软件是什么? 萝卜 *** 各有所爱 每个软件都有自己的利弊吧我觉得 我只能说我自己一直在用狸窝全能视频转换器,我就觉得这个软件不错,操作简单而且效率高,功能强大。
问题五:视频转换用什么软件比较好 格式工厂是不错的选择。
原视频是什么格式的?如果是MOV格式,还需要安装quicktime播放器才可以。其它视频格式,基本都支持(除了某些软件的专用视频格式)。
使用方法如图。我是以转换成RMVB为例讲的,你第一步可以选择MP4
问题六:视频转换软件哪个好 萝卜白菜,各有所爱 我现在常用的是狸窝全能视频转换器,操作比较简单,功能非常多。
问题七:目前比较好的专业视频格式转换软件有哪些 adobe premiere
adobe aftereffects
Edius 问题八:什么视频转换软件最好用 视频转换我一般用的是狸沃全能视频转换器,可以对视音频的格式进行转换,还能对视频文件进行剪切、合并以及压缩等操作。操作简单,个人觉得挺不错的。
问题九:视频格式转换软件哪个好 Format Factory(格式工厂)/...,号称万能转换软件。
问题十:视频格式转换下载什么软件好用 FreemakeVideoConverter这个是我一直在用的,还有一个狸窝超级全能视频转换器"也不错
二 视频转码软件哪个好
"视频转码软件哪个好",哪些软件是我们想要的呢,下面深空小编就跟您推荐几款比缺岩较合适的软件或者app给您参考。
1. 影音转码软件 软件类型:电脑软件
软件介绍:
FFQueue是一款视频转码工具,能够协助客户开展视频编码转换,伏则御支持视频编写作用,包含视频剪辑,拼凑等,FFQueue支持大批量对视频文档开展操作,便捷功能强大。
3. 完美转码 软件类型:电脑软件
软件介绍:
概括介绍一款专业的视频转换软件。基本介绍完美者转码是一款专业的视频转换软件,能将常见的电脑视频格式,转换成MP4、AVI、PMP、3GP等设备所需要的格式。
4. 暴风转码 软件类型:电脑软件
软件介绍:
基本介绍“暴风转码”是暴风影音最新推出的一款免费专业音视频转换的全新产品,可以帮助您实现所有流行音视频格式文件的格式转换。
5. 视频转码 软件类型:电脑软件
软件介绍:
视频转码是一款作用好用的视频转码实用工具,页面简约,_有一切广告宣传,软件能够考虑了转码要求的全部规定,只必须导进源代码和输出文档就可以迅速进行,设定画面盯册质量和格式就可以,高质量转码,适用多种多样
三 哪个软件qsv转mp4最好用
QSV是州镇Intel Quick Sync Video的缩写,它是一种硬件加速技术,可以在不降低图像质量的情况下,快速地进行视频编码和解码。在转换视频格式时,使用支持QSV硬件加速的转换工具,可以大幅则睁提高转换速度,同时还可以减少CPU的负载。
以下是一些常见的QSV转MP4的工具,可以根据自己的需求和电脑配置进行选择:
Handbrake:这是一款免费、开源的视频转换工具,支持多种输入和输出格式,可以利用QSV进行视频编码和解码,转换速度较快,同时还具有丰富的视频编辑和调整功能。
Any Video Converter:这是一款功能强大的视频转换工具,支持多种输入和输出格式,可以利用QSV进行视频编码和解码,转换速度较快,同时还具有视频编辑和调整功能,用户界面也比较友好。
Movavi Video Converter:这是一款收费的视频转换工具,支持多种输入和输出格式,可以利用QSV进行视频编码和解码,转换速度较快,同时还具有视频编辑和调整功能,用户界面比较简洁易用。
无论选择哪种工具,建议在使用前先查看一下相关的配置要求和使用说明,以免出现兼容性和操作问题。同时还要注册盯粗意保护自己的电脑安全,尽量下载和安装正版软件,避免使用盗版或不可信来源的软件。
四 苹果电脑有什么好的视频转码软件
推荐以下视频转码软件:
1、爱剪辑:该软件是一款剪辑软件,完全根据中国人的使用习惯、功能需求与审美特点进行全新设计,许多创新功能都颇具首创性。爱剪悔慧辑是最易用、强樱搭大的视频剪辑软件,也是国内首款全能的免费视频剪辑软件,由爱剪辑团队凭借余年的多媒体研发实力,历经6年以上创作而成。
2、拍大师:该软件是一个简单好用脊前拿、功能强大的视频创作软件,它整合了屏幕和摄像头录像、视频剪辑、配音配乐、特效处理、动感相册、手绘涂鸦、导出GIF聊天表情以及其他多种高级功能,且屏幕录像兼容所有游戏,是