linux ffmpeg 添加 Intel media sdk 编码器(1)
来源:互联网 发布:知微数据 陈庆 编辑:程序博客网 时间:2024/05/18 14:43
一 安装intel media sdk
intel media sdk 必须运行在真机环境中,因为安装时,对显卡进行判断,通过 lspci -nn | grep VGA | grep Intel 命令
得到00:02.0 VGA compatible controller [0300]: Intel Corporation Xeon E3-1200 v3 Processor Integrated Graphics Controller [8086:041a] (rev 06)
如果为虚拟机,显卡是虚拟的,得不到要求的显卡信息。驱动安装不上。那么最终添加了h264-qsv 编码器的ffmpeg不能运行。
如果是在真机环境下安装时,如果硬件软件匹配intel media sdk文档的要求,那么进行如下安装。当安装完内核后,需要重启电脑,选择3.2.0 的内核加载,如果没有内核选择菜单,则编辑 /etc/default/grub找到 timeout 数字改为10,保存,
执行 sudo update-grub ,重启电脑,就可以出现内核启动菜单。
二 编译 ffmpeg
运行intel media sdk 只能在真机环境中,但是虚拟机环境ubuntu可以编译ffmpeg,这时候sdk安装不成功,需要手动将MediaServerStudioProfessionalEvaluation2015包中的MediaServerStudioRuntimeUbuntuEvaluation2015.deb包中的MSDK目录下的压缩包解压到/opt/intel/mediasdk 目录下。得到编译 ffmpeg 所必需的media sdk的头文件和库文件
想添加一个支持intel media sdk 的编码器,需要参考libx264一样,写一个能被加入到ffmpeg的编码器,我把它称为h264_qsv。下载一个2.2版本的ffmpeg,对其中的configure 文件要进行修改。参考http://www.cnblogs.com/techsunny/,configure 的命令为
configure --enable-qsv --extra-ldflags=-L/opt/intel/mediasdk/bin/x64 --extra-cflags=-I/opt/intel/mediasdk/include --prefix=/opt/intel/mediasdk
sudo make$$ make install
最终可以生成ffmpeg 。因为ffmpeg 寻找动态库时是在几个固定的的目录下寻找的,那么把libmfxhw64.so.0 复制到/usr/lib/x86_64-linux-gnu目录下即可。最后在/opt/intel/mediasdk/bin目录下执行sudo ffmpeg -i in.mp4 -an -vcodec h264_qsv -b 2000k -f mp4 -y out.mp4 即可。 必须是sudo ,不然驱动不能被打开。如果是在虚拟机上编译生成的ffmpeg 不可以在虚拟机运行,因为驱动没安装,要移动到安装了 intel media sdk的环境下运行。结果显示使用intel media sdk的ffmpeg编码时,cpu的消耗为ffmpeg自带库h264的20% 。成功了。
- linux ffmpeg 添加 Intel media sdk 编码器(1)
- intel media sdk + ffmpeg环境搭建
- Linux下Intel Media SDK的安装
- intel media SDK (二)
- intel media SDK(三)
- Intel Media SDK(四)
- Intel Media SDK 介绍
- Intel Media SDK
- Intel Media SDK 介绍
- Intel Media SDK 性能测试
- Intel Media SDK文章总汇
- Intel media sdk 自己笔记
- [FFMPEG硬件加速]Intel® Media Server Studio
- Intel--巧用Media SDK检查系统硬件加速
- Intel Media SDK ---摘自ww506772362的专栏
- intel media SDK ----摘自ww506772362的专栏
- Intel Media SDK相关知识文章总汇
- OpenCVR 已经成功支持Intel media SDK
- CIKM Competition数据挖掘竞赛夺冠算法陈运文
- 生活需要记录
- 2015年十项最热的IT技能
- ios设备使用tcpdump抓包
- Synchronized关键字详解
- linux ffmpeg 添加 Intel media sdk 编码器(1)
- c++操作mysql的API函数详解
- [leetcode]Swap Nodes in Pairs
- 实现网页页面跳转的几种方法
- First Missing Positive
- Android Fragment组件学习
- C++著名类库
- 深圳视晶无线技术有限公司 狗血经历
- The type org.springframework.dao.support.DaoSupport cannot be resolved. It is indirectly referenced