麒麟銀河操作系統V10部署ffmpeg(也能用于Linux系統)

麒麟銀河操作系統V10部署ffmpeg(也能用于Linux系統)

部署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

執行source /etc/profile 命令刷新配置

配置環境變量之前,一定要在/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.pswp.cn/news/713689.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/713689.shtml
英文地址,請注明出處:http://en.pswp.cn/news/713689.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Android修行手冊-Chaquopy中opencv、numpy的初步應用

Unity3D特效百例案例項目實戰源碼Android-Unity實戰問題匯總游戲腳本-輔助自動化Android控件全解手冊再戰Android系列Scratch編程案例軟考全系列Unity3D學習專欄藍橋系列ChatGPT和AIGC 👉關于作者 專注于Android/Unity和各種游戲開發技巧,以及各種資源分…

SpringBoot源碼解讀與原理分析(三十八)SpringBoot整合WebFlux(一)WebFlux的自動裝配

文章目錄 前言第13章 SpringBoot整合WebFlux13.1 響應式編程與Reactor13.1.1 命令式與響應式13.1.2 異步非阻塞13.1.3 觀察者模式13.1.4 響應性13.1.5 響應式流13.1.6 背壓13.1.7 Reactor13.1.7.1 Publisher13.1.7.2 Subscriber13.1.7.3 Subscription13.1.7.4 Processor13.1.7.…

BF算法實現(Python,C++)

BF算法,即暴力(Brute Force)算法,是普通的模式匹配算法,BF算法的思想就是將目標串S的第一個字符與模式串T的第一個字符進行匹配,若相等,則繼續比較S的第二個字符和 T的第二個字符;若不相等,則比…

Leetcoder Day32| 貪心算法part05

763.劃分字母區間 字符串 S 由小寫字母組成。我們要把這個字符串劃分為盡可能多的片段,同一字母最多出現在一個片段中。返回一個表示每個字符串片段的長度的列表。 示例: 輸入:S "ababcbacadefegdehijhklij"輸出:[9,7…

今日早報 每日精選15條新聞簡報 每天一分鐘 知曉天下事 3月2日,星期六

每天一分鐘,知曉天下事! 2024年3月2日 星期六 農歷正月廿二 1、 氣象局:3月份仍有5次冷空氣影響我國;全國多地或提前入春。 2、 央行:將外籍來華人員移動支付單筆交易限額由1000美元提高到5000美元。 3、 神舟十七號航…

全量知識系統問題及SmartChat給出的答復 之8 三套工具之3語法解析器 之1

Q19. 問題 : 解釋單詞解釋單詞occupied 的字典條目 (word-def occupiedinterest 5type EBsubclass SEBtemplate (script $Demonstrateactor nilobject nildemands nilmethod (scene $Occupyactor nillocation nil))fill (((actor) (top-of *actor-s…

【源碼】imx6ull實現觸摸屏單點實驗

一、本實驗實驗的器材: 1.正點原子imx6ull的阿爾法開發板v2.2 2.屏幕ALIENTEK 4.3 RGBLCD 二、實驗已經移植好的文件: 倉庫代碼:https://gitee.com/wangyoujie11/atkboard_-linux_-driver.git 1.文件說明 23_multitouch :驅動代…

aws平臺的ec2實例 GNU/Linux系統安裝docker流程

在AWS EC2實例上安裝Docker的流程與其他GNU/Linux系統基本相同。以下是在AWS EC2實例上安裝Docker的一般步驟: 登錄到AWS EC2實例: 使用SSH或者其他遠程登錄方式登錄到你的GNU/Linux實例。 更新系統包管理器: 對于基于Amazon Linux的系統&am…

常見Prometheus exporter部署

常見Prometheus exporter部署 Prometheus部署Node exporterProcess exporterRedis exporterMySQL exporterOracleDB exporter Prometheus部署 本地部署: wget https://github.com/prometheus/prometheus/releases/download/v*/prometheus-*.*-amd64.tar.gz tar xv…

java的jar打包docker鏡像,啟動加載

測試環境,打包鏡像 1,把jar包復制/data/liu/mssda.jar, cd到這個目錄下 2,創建Dockerfile文件,jdk17版本,內容如下 jdk8版本 FROM openjdk:8-jre-alpine WORKDIR /app COPY . /app CMD ["java", "-jar",…

最大奇約數(c++題解)

內存限制: 128 MiB時間限制: 100 ms標準輸入輸出題目類型: 傳統評測方式: 文本比較 題目描述 定義函數f(x)表示x的最大奇約數,這里x表示正整數。例如,f(20) 5,因為20的約數從小到大分別有&am…

奧地利羅馬尼亞媒體宣發稿對跨境出海推廣新聞營銷的意義

【本篇由言同數字科技有限公司原創】在當今全球化的時代,品牌跨境海外推廣已成為企業拓展國際市場的必要途徑。而奧地利和羅馬尼亞是歐洲重要的市場之一,通過在當地媒體上發表文章,可以幫助品牌成功打入這兩個市場,獲得更多的機會…

【YOLO v5 v7 v8 小目標改進】ODConv:在卷積核所有維度(數量、空間、輸入、輸出)上應用注意力機制來優化傳統動態卷積

ODConv:在卷積核所有維度(數量、空間、輸入、輸出)上應用注意力機制來優化傳統的動態卷積 提出背景傳統動態卷積全維動態卷積效果 小目標漲點YOLO v5 魔改YOLO v7 魔改YOLO v8 魔改 論文:https://openreview.net/pdf?idDmpCfq6Mg…

leedcode刷題--day7(字符串)

23 文章講解 力扣地址 C class Solution { public:void reverseString(vector<char>& s) {int left 0;int right s.size() - 1; // right 應該初始化為 s.size() - 1while (left < right) {swap(s[left], s[right]); // 直接交換 s[left] 和 s[right] 的值lef…

(學習日記)2024.02.29:UCOSIII第二節

寫在前面&#xff1a; 由于時間的不足與學習的碎片化&#xff0c;寫博客變得有些奢侈。 但是對于記錄學習&#xff08;忘了以后能快速復習&#xff09;的渴望一天天變得強烈。 既然如此 不如以天為單位&#xff0c;以時間為順序&#xff0c;僅僅將博客當做一個知識學習的目錄&a…

WSL2外部網絡設置

1 關閉所有WSL系統 wsl --shutdown 2 打開Hyper-V管理器 3 將“虛擬交換機管理器”-> ”WSL連接類型“設置為“外部網絡” 4 啟動WSL系統&#xff0c;手動修改WSL網絡 將WSL網絡IP修改為192.168.1.9 sudo ip addr del $(ip addr show eth0 | grep inet\b | awk {print $2} |…

FFmpeg+OpenCV開發案例匯總

桌面共享工具&#xff08;軟編版&#xff09; 桌面共享工具&#xff08;DXGI硬編版&#xff09; 智能廣告大屏&#xff08;可疊加透明廣告&#xff09; Android手機屏幕RTMP推流工具&#xff08;推麥克風版&#xff09; Android手機屏幕RTMP推流工具&#xff08;推揚聲器版…

FinalMLP:用于推薦系統的簡單但強大的雙流 MLP 模型

原文地址&#xff1a;FinalMLP: A Simple yet Powerful Two-Stream MLP Model for Recommendation Systems 了解 FinalMLP 如何轉變在線推薦&#xff1a;通過尖端 AI 研究解鎖個性化體驗 2024 年 2 月 14 日 介紹 世界正在向數字時代發展&#xff0c;在這個時代&#xff0c;…

Python并發編程:多線程-死鎖現象與遞歸鎖

一  死鎖現象 所謂死鎖&#xff1a;是指兩個或兩個以上的進程或線程在執行過程中&#xff0c;因爭奪資源而造成的一種互相等待的現象&#xff0c;若無外力作用&#xff0c;它們都將無法推進下去。此時稱系統處于死鎖狀態或系統產生了死鎖&#xff0c;這些永遠在互相等待的進程…

持安科技孫維伯:零信任在攻防演練下的最佳實踐|DISCConf 2023

近日&#xff0c;在2023數字身份安全技術大會上&#xff0c;持安科技聯合創始人孫維伯應主辦方的特別邀請&#xff0c;發表了主題為“零信任在攻防演練下的最佳實踐”的演講。 孫維伯在2023數字身份安全技術大會上發表演講 以下為本次演講實錄&#xff1a; 我是持安科技的聯合…