麒麟银河操作系统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://www.hqwc.cn/news/495941.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于uniapp框架的古汉语学习考试系统 微信小程序python+java+node.js+php

1、一般用户的功能及权限 所谓一般用户就是指还没有注册的过客,他们可以浏览主页面上的信息。但如果需要其它操作时,要登录注册,只有注册成功才有的权限。 2、管理员的功能及权限 用户信息的添加和管理,古汉语信息加和管理和学习视频添加和管…

Flink动态分区裁剪

1 原理 1.1 静态分区裁剪与动态分区裁剪 静态分区裁剪的原理跟谓词下推是一致的,只是适用的是分区表,通过将where条件中的分区条件下推到数据源达到减少分区扫描的目的   动态分区裁剪应用于Join场景,这种场景下,分区条件在joi…

springboot+vue+mysql+easyexcel实现文件导出+导出的excel单元格添加下拉列表

Excel导出 EasyExcel官方文档 官方文档本身写的非常详细,我就是根据官方文档内的写Excel里web中的写实现的导出 后端 对象 需要写一个实体类 其中涉及到一些用到的EasyExcel的注解 ColumnWidth(20) 列宽设为20,自定义的,放在实体类上面是…

Linux线程(二)----- 线程控制

目录 前言 一、线程资源区 1.1 线程私有资源 1.2 线程共享资源 1.3 原生线程库 二、线程控制接口 2.1 线程创建 2.1.1 创建一批线程 2.2 线程等待 2.3 终止线程 2.4 线程实战 2.5 其他接口 2.5.1 关闭线程 2.5.2 获取线程ID 2.5.3 线程分离 三、深入理解线程 …

NR 2-STEP RA Absolute Timing Advance Command MAC CE的应用场景

3 GPP在 R2-2002413中将2-step RA引入,进而R16 38.321出现了 Absolute TAC MAC CE,在 NR Timing Advance(TA)_ntn rrc-CSDN博客 有提到这个MAC CE,当时以“absolute timing advance command MAC CE 在2-step RA的某个场景下使用”一笔带过&am…

CopyOnWriteArrayList 使用介绍

目录 一、背景1.1 线程安全问题复现1.2 问题跟踪线程安全隐患一:数组越界线程安全隐患二:值为null 二、定义2.1 什么是 CopyOnWriteArrayList?2.2 CopyOnWriteArrayList 的优点2.3 CopyOnWriteArrayList 的缺点 三、解决问题 一、背景 1.1 线…

React回顾

一、基础 1、使用babel解析 2、不直接使用jsx,jsx写起来很繁琐 3、jsx语法规则 4、函数式组件的使用 5、函数式组件渲染 6、类组件渲染 7、类组件中事件调用this指向问题 8、类组件不能直接改变状态 9、props接收数据类型限制 类型限制放到类组件内部,用…

C#区域医院云LIS信息管理系统源码 标本管理、两癌筛查、数据分析、试剂管理

目录 ​编辑 区域医院云LIS系统功能亮点: 云LIS系统功能: 一、 基础管理 二、 前处理(实验室) 三、 标本处理 四、 样本检验 五、 统计报表 六、 质控管理 七、 基本工作流程 区域LIS系统特点&#xff1…

【mysql】1812 - Tablespace is missing for table `job`.`xxl_job_log`.

打开表提示: 1812 - Tablespace is missing for table job.xxl_job_log. 1812-表“job”缺少表空间xxl_job_log。 尝试删除表重建表 DROP TABLE IF EXISTS job.xxl_job_log; 提示: 1051 - Unknown table job.xxl_job_log 1051-未知表“job.xxl_job_lo…

【Java EE初阶二十六】简单的表白墙(二)

2. 后端服务器部分 2.1 服务器分析 2.2 代码编写 2.2.2 前端发起一个ajax请求 2.2.3 服务器读取上述请求,并计算出响应 服务器需要使用 jackson 读取到前端这里的数据,并且进行解析: 代码运行图: 2.2.4 回到前端代码,处理服务器返回的响应…

leetcode 3.反转链表;

1.题目: 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 2.用例: 3.题目解析: (1)函数头: 要求返回结点,就 ListNode* reverseList(ListNode* head)&…

如何使用Lychee+cpolar搭建本地私人图床并实现远程访问存储图片

文章目录 1.前言2. Lychee网站搭建2.1. Lychee下载和安装2.2 Lychee网页测试2.3 cpolar的安装和注册 3.本地网页发布3.1 Cpolar云端设置3.2 Cpolar本地设置 4.公网访问测试5.结语 1.前言 图床作为图片集中存放的服务网站,可以看做是云存储的一部分,既可…