麒麟银河操作系统V10部署ffmpeg

麒麟银河操作系统V10部署ffmpeg

部署ffmpeg用来处理视频的各种操作

想使用ffmpeg,要先安装nasm,yasm,x264之后,否则会报错

nkvers 查看麒麟操作系统版本

cat /proc/version #查看linux版本信息

uname -a #查看linux版本和内核

安装nasm

step1:window系统中打开链接NASM-2.13.03 (linuxfromscratch.org) 点击下图中红框下载

image-20240227100611914

step2 将下载的tar.xz压缩包导入麒麟操作系统的 /usr/local/ffmpeg 目录下(没有这个目录就先创建这个目录)

image-20240227100835927

step3 解压tar.xz压缩包

tar -xf nasm-2.13.03.tar.xz

step4 进入到解压后的路径中

`cd nasm-2.13.03`	   	![1708999907116](https://img-blog.csdnimg.cn/img_convert/319d46f2b19a4b6ad1dd6d47762a74ca.png)		

​ 执行命令

./configure

image-20240227102019144

​ 注意:

  • 如果你的gcc版本过低或者过低(麒麟系统是是有这个问题,所以需要解决),解决方案如下:
vim ./include/nasmlib.h
  • 在vim编译器中找到大概193行位置,对下面一行代码进行注释(加 “//” 就好了)
void pure_func seg_init(void);

​ 再依次执行命令

make

image-20240227102038441

make install

image-20240227101929396

最后输入下面的命令,查看nasm版本号,打印出来表示安装成功。

nasm --verison

image-20240227101843257

安装yasm

官网下载链接http://www.tortall.net/projects/yasm/releases/

step1 点击下载,并放入麒麟OS的 /usr/loacl/ffmpeg 路径下

image-20240227102205854

image-20240227102402011

step2 将下载后的文件解压到/usr/local/ffmpeg文件夹内,主要操作如下

cd /usr/local/ffmpeg
tar -xvzf yasm-1.2.0.tar.gz

image-20240227102829456

step3 执行命令

cd yasm-1.2.0/
./configure
make
make install

image-20240227102945760

image-20240227103224995

image-20240227103313856

step4 最后安装成功后可以使用如下命令查看

yasm --version

image-20240227103437604

安装x264

官网链接:https://www.videolan.org/developers/x264.html

step1 进行官网,直接点击下载,将下载的tar.bz2压缩包放入麒麟操作系统 /usr/local/ffmpeg/ 目录下

image-20240227103609059

image-20240227103753533

step2 一行行执行下述命令

cd /usr/local/ffmpeg
tar -xvf x264-master.tar.bz2
cd x264-master
./configure --enable-shared
make
make install

image-20240227104013261

​ 解压成功

image-20240227104043281

image-20240227104218144

image-20240227104702195

image-20240227104759994

step3 上述安装操作完成后,使用下面命令进行测试

x264 --version

image-20240227104905419

安装ffmpeg

官网:Download FFmpeg

step1 进入官网,点击下图, 并选择适合自己的版本

image-20240227095609035

image-20240227095650486

选择困难症的话,可用点击链接 https://www.ffmpeg.org/releases/ffmpeg-5.1.2.tar.gz 下载

step2 将在window中下载的tar.gz压缩包 导入到麒麟OS系统中/usr/local/ffmpeg/ 目录下

image-20240227100015375

step3 在麒麟OS终端,依次执行下面步骤

cd /usr/local/ffmpeg
tar -zxvf ffmpeg-5.1.2.tar.gz  ##要是下载了bz2包 则使用该命令tar -xjvf ffmpeg-5.1.2.tar.bz2
cd ffmpeg-5.1.2
./configure --enable-shared --prefix=/monchickey/ffmpeg
make -j8 #允许8个任务同时进行 这个可根据自己需求设置
make install -j8 

image-20240227105753217

image-20240227110536403

image-20240227110628128

step4 修改配置文件

cd /monchickey/ffmpeg/ 

查看该目录下是否包含下图的几个文件目录。bin目录中包含了ffmpeg的二进制文件,include目中包含了编程需要引入的头文件目录,lib是编译好的库文件目录,share是文档目录

image-20240227110829484

cd /monchickey/ffmpeg/bin
./ffmpeg -version

一般情况下会看到下图的结果,说明至此,ffmpeg真的安装成功了

image-20240227111802163

如果,出现特殊情况,那就是报错了,不要慌,继续执行下面

vim /etc/ld.so.conf.d/ffmpeg.conf

添加下面一句话

/monchickey/ffmpeg/lib

保存退出,使用ldconfig使得配置生效

ldconfig

最后,再执行的./ffmpeg -version语句,此时会出现版本信息,说明安装完毕。

./ffmpeg -version

image-20240227111802163

step5 添加环境变量

打开profile文件

vim /etc/profile

在末尾加上两行

export HBASE_HOME=/monchickey/ffmpeg
export PATH=$PATH:$HBASE_HOME/bin

配置环境变量之前,一定要在/monchickey/ffmpeg/bin 下才能使用ffmpeg命令

image-20240227134842119

配置环境变量以后,在终端任意位置 均可以使用ffmpeg命令

image-20240227135025953

测试

在麒麟OS终端任意位置 执行下面命令,将mov_bbb.mp4转成avi格式,执行命令后转换成功。表示ffmpeg命令在麒麟os中有效

ffmpeg -i /usr/local/ffmpeg/mov_bbb.mp4 /usr/local/ffmpeg/mov_bbb.avi

image-20240227135322162

成功生成对应的avi视频文件

image-20240227135358249

ffmpeg的命令参数

#ffmpeg常用参数的介绍#-i 指定要转换视频的源文件
#-s 视频转换后视频的分辨率
#-vcodec 视频转换时使用的编解码器
#-r 视频转换换的桢率(默认25桢每秒)
#-b 视频转换换的bit率
#-ab 音频转换后的bit率(默认64k)
#-acodec 制度音频使用的编码器
#-ac 制定转换后音频的声道
#-ar 音频转换后的采样率
./ffmpeg -i source.mp4 -f psp -r 29.97 -b 768k -ar 24000 -ab 64k -s 320*240 destination.mp4

参考博客

注意以下博客中均有些小错误这些错误在本文中均已改正,列出的链接仅供参考。

银河麒麟下安装ffmpeg_银河麒麟h246解码软件-CSDN博客

银河麒麟下安装ffmpeg遇到的问题_银河麒麟安装ffmpeg后一直无法连接-CSDN博客

liunx源码部署 ffmpeg 踩坑指南 x264、yasm、nasm、java集成ffmpeg_linux 安装nasm/yasm失败-CSDN博客

补充:

安装nasm:在编译安装libx264时,报了缺少nasm,需要先安装nasm。

安装 x264:在使用–enable-libx264时需要。mp4格式的视频就有3种编码: mpg4(xdiv),mpg4(xvid),avc(h264)
这三种格式虽然在播放器里可以正常播放,但是mpg(xdiv),mpg4(xvid)这两种格式嵌到html5页面里的时候就会出现只有声音不显示图像的情况,转换成H264编码就可以在网页正常播放了。为了兼容浏览器,建议安装x264依赖

安装yasm:FFmpeg 为了提高编译速度,使用了汇编指令,如MMX和SSE等。如果系统中没有yasm指令的话,编译FFmpeg时会报错

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2814338.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

vue3的echarts从后端获取数据,用于绘制图表

场景需求:后端采用flask通过pymysql从数据库获取数据,并返回给前端。前端vue3利用axios获取数据并运用到echarts绘制图表。 第一步,vue中引入echarts 首先vue下载echarts npm install echarts 然后在main.js文件写如下代码 import {create…

【初中生讲机器学习】12. 似然函数和极大似然估计:原理、应用与代码实现

创建时间:2024-02-23 最后编辑时间:2024-02-24 作者:Geeker_LStar 你好呀~这里是 Geeker_LStar 的人工智能学习专栏,很高兴遇见你~ 我是 Geeker_LStar,一名初三学生,热爱计算机和数学,我们一起加…

Spring 事务传播机制

事务传播机制:多个事务⽅法存在调⽤关系时, 事务是如何在这些⽅法间进⾏传播的。 ⽐如:有两个⽅法A,B都被 Transactional 修饰,,A⽅法调⽤B⽅法 A⽅法运⾏时, 会开启⼀个事务。当A调⽤B时, B⽅法本⾝也有事务&#xf…

4核8G服务器并发数多少?性能如何?

腾讯云4核8G服务器支持多少人在线访问?支持25人同时访问。实际上程序效率不同支持人数在线人数不同,公网带宽也是影响4核8G服务器并发数的一大因素,假设公网带宽太小,流量直接卡在入口,4核8G配置的CPU内存也会造成计算…

MetaGPT 1 安装与配置踩坑实录

安装 与 配置直接参考这里就行:Hugging Muti Agent(二月学习) - 飞书云文档 (feishu.cn) 这里按照教程安装的是metagpt 0.6.6 ,经过跟0.7.0对比,个人认为0.7对其他llm接入可能更好,文档也更清晰。 0.6.6的…

数据库管理-第156期 Oracle Vector DB AI-07(20240227)

数据库管理156期 2024-02-27 数据库管理-第156期 Oracle Vector DB & AI-07(20240227)1 Vector相关DDL操作可以在现有的表上新增vector数据类型的字段:可以删除包含vector数据类型的列:可以使用CTAS的方式,从其他有…

【JavaScript】面试手撕防抖

引入 防抖可是前端面试时最频繁考察的知识点了,首先,我们先了解防抖的概念是什么。咳咳。👀 防抖: 首先它是常见的性能优化技术,主要用于处理频繁触发的浏览器事件,如窗口大小变化、滚动事件、输入框内容…

雾锁王国服务器官方配置要求说明

雾锁王国/Enshrouded服务器CPU内存配置如何选择?阿里云服务器网aliyunfuwuqi.com建议选择8核32G配置,支持4人玩家畅玩,自带10M公网带宽,1个月90元,3个月271元,幻兽帕鲁服务器申请页面 https://t.aliyun.com…

Django配置静态文件

Django配置静态文件 目录 Django配置静态文件静态文件配置调用方法 一般我们将html文件都放在默认templates目录下 静态文件放在static目录下 static目录大致分为 js文件夹css文件夹img文件夹plugins文件夹 在浏览器输入url能够看到对应的静态资源,如果看不到说明…

计算机网络:IP

引言: IP协议是互联网协议族中的核心协议之一,负责为数据包在网络中传输提供路由寻址。它定义了数据包如何在互联网上从源地址传输到目的地址的规则和流程。IP协议使得各种不同类型的网络设备能够相互通信,实现了全球范围内的信息交换。 目录…

LiveGBS流媒体平台GB/T28181功能-查看国标设备下通道会话列表直播|回放|对讲|播放|录像|级联UDP|TCP|H264|H265会话

LiveGBS流媒体平台GB/T28181功能-查看直播|回放|对讲|播放|录像|级联UDP|TCP|H264|H265会话 1、会话列表2、会话类型3、搭建GB28181视频直播平台 1、会话列表 LiveGBS-> 国标设备-》点击在线状态 点击会话列表 2、会话类型 下拉会话类型可以看到 直播会话、回放会话、下载…

nginx---------------重写功能 防盗链 反向代理 (五)

一、重写功能 rewrite Nginx服务器利用 ngx_http_rewrite_module 模块解析和处理rewrite请求,此功能依靠 PCRE(perl compatible regular expression),因此编译之前要安装PCRE库,rewrite是nginx服务器的重要功能之一,重写功能(…

express+mysql+vue,从零搭建一个商城管理系统5--用户注册

提示:学习express,搭建管理系统 文章目录 前言一、新建user表二、安装bcryptjs、MD5、body-parser三、修改config/db.js四、新建config/bcrypt.js五、新建models文件夹和models/user.js五、index.js引入使用body-parser六、修改routes/user.js七、启动项…

浅析ARMv8体系结构:原子操作

文章目录 概述LL/SC机制独占内存访问指令多字节独占内存访问指令 独占监视器经典自旋锁实现 LSE机制原子内存操作指令CAS指令交换指令 相关参考 概述 在编程中,当多个处理器或线程访问共享数据,并且至少有一个正在写入时,操作必须是原子的&a…

物联网APP开发:技术、挑战与前景

随着科技的快速发展,物联网(IoT)已经成为当今世界的重要趋势。物联网是将物理世界的各种“事物”与互联网连接起来,通过智能设备、传感器和执行器实现数据的收集、交换和处理,以改善生活和工作的方式。物联网APP是实现…

第102讲:MySQL多实例与Mycat分布式读写分离的架构实践

文章目录 1.Mycat读写分离分布式架构规划2.在两台服务器中搭建八个MySQL实例2.1.安装MySQL软件2.2.创建每个MySQL实例的数据目录并初始化2.3.准备每个实例的配置文件2.4.准备每个实例的启动脚本2.6启动每台机器的MySQL多实例2.7.为每个MySQL实例设置密码2.8.查看每个MySQL实例的…

07 Qt自绘组件:图片预览小组件ImageViewer

系列文章目录 01 Qt自定义风格控件的基本原则-CSDN博客 02 从QLabel聊起:自定义控件扩展-图片控件-CSDN博客 03 从QLabel聊起:自定义控件扩展-文本控件-CSDN博客 04 自定义Button组件:令人抓狂的QToolButton文本图标居中问题-CSDN博客 0…

基于视觉识别的自动采摘机器人设计与实现

一、前言 1.1 项目介绍 【1】项目功能介绍 随着科技的进步和农业现代化的发展,农业生产效率与质量的提升成为重要的研究对象。其中,果蔬采摘环节在很大程度上影响着整个产业链的效益。传统的手工采摘方式不仅劳动强度大、效率低下,而且在劳…

【C++练级之路】【Lv.9】【STL】stack类和queue类的模拟实现

快乐的流畅:个人主页 个人专栏:《C语言》《数据结构世界》《进击的C》 远方有一堆篝火,在为久候之人燃烧! 文章目录 一、容器适配器二、stack2.1 push2.2 pop2.3 top2.4 size2.5 empty 三、queue3.1 push3.2 pop3.3 front3.4 back…

基于JavaWeb实现的网上订餐系统

一、系统架构 前端:jsp | bootstrap | js | css 后端:servlet | jdbc 环境:jdk1.6 | mysql | tomcat | maven 二、 代码及数据库 三、功能介绍 01. 登录页 02. 首页1 03. 首页2 04. 首页3 05. 关于我们 06. 我的购物车…