ubuntu22.04 安装ffmpeg

news/2024/11/14 2:53:17/

ubuntu22.04 安装ffmpeg

wget https://ffmpeg.org/releases/ffmpeg-7.0.1.tar.xz
tar -xvf ffmpeg-7.0.1.tar.xz
sudo apt-get install gcc g++ cmake make pkgconf -y
mkdir -p ~/util/ffmpeg/lib
cd ffmpeg-7.0.1
./configure --prefix="/home/ip3/util/ffmpeg" --enable-gpl --enable-nonfree --enable-ffplay --enable-libfdk-aac --enable-libmp3lame --enable-libx264 --enable-libx265 --enable-filter=delogo --enable-debug --disable-optimizations --enable-libspeex --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --extra-cflags=-I/home/ip3/util/ffmpeg/include --extra-ldflags=-L/home/ip3/util/ffmpeg/lib

缺少库文件之后 安装下面的文件,不安装可能会报各种错误

wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
tar -zxvf yasm-1.3.0.tar.gz
cd yasm-1.3.0
./configure --prefix=/home/ip3/util/ffmpeg
make -j16
sudo make install
export PATH=$PATH:/home/ip3/util/ffmpeg/binwget https://zenlayer.dl.sourceforge.net/project/opencore-amr/fdk-aac/fdk-aac-2.0.3.tar.gz
tar -zxvf fdk-aac-2.0.3.tar.gz
cd fdk-aac-2.0.3/
./configure --prefix=/home/ip3/util/ffmpeg/
make -j16
sudo make install
export PKG_CONFIG_PATH=/home/cat/util/ffmpeg/lib/pkgconfig/wget https://zenlayer.dl.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz
tar -zxvf lame-3.100.tar.gz
cd lame-3.100/
./configure --enable-shared --prefix=/home/ip3/util/ffmpeg/
make -j16
sudo make installERROR: speex not found using pkg-configwget https://ftp.osuosl.org/pub/xiph/releases/speex/speex-1.2.1.tar.gz
tar -zxvf speex-1.2.1.tar.gz
cd speex-1.2.1/
./configure --prefix=/home/ip3/util/ffmpeg/
make -j16
sudo make installERROR: x264 not found using pkg-configwget https://code.videolan.org/videolan/x264/-/archive/master/x264-master.tar.bz2
tar -jxvf x264-master.tar.bz2
cd x264-master/
./configure --prefix=/home/ip3/util/ffmpeg/ --disable-asm --enable-static --enable-shared
make -j16
sudo make installERROR: x265 not found using pkg-configwget http://ftp.videolan.org/pub/videolan/x265/x265_3.2.tar.gz
tar -zxvf x265_3.2.tar.gz
cd x265_3.2/build/linux
./make-Makefiles.bash
make -j16
sudo make installwget https://github.com/libsdl-org/SDL/archive/refs/tags/release-2.30.5.tar.gz
tar -zxvf release-2.30.5.tar.gz
cd SDL-release-2.30.5
./configure --prefix=/home/ip3/util/ffmpeg/
make -j16
sudo make installcd cd ffmpeg-7.0.1
./configure --prefix="/home/ip3/util/ffmpeg" --enable-gpl --enable-nonfree --enable-ffplay --enable-libfdk-aac --enable-libmp3lame --enable-libx264 --enable-libx265 --enable-filter=delogo --enable-debug --disable-optimizations --enable-libspeex --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --extra-cflags=-I/home/ip3/util/ffmpeg/include --extra-ldflags=-L/home/ip3/util/ffmpeg/lib
make -j16
sudo make install

ffmpeg程序目录添加到PATH
sudo vim ~/.bashrc,在profile文件末尾添加export PATH=“/home/ip3/util/ffmpeg/bin/:$PATH”,将/home/ip3/util/ffmpeg/bin/替换为ffmpeg的安装目录


export PATH="/home/ip3/util/ffmpeg/bin/:$PATH"

sudo vim /etc/ld.so.conf,在ld.so.conf文件末尾添加库文件路径/home/ip3/util/ffmpeg/lib,执行ldconfig命令

ffmpeg 转换mp4到h264文件

Projects/video$ ffmpeg -i 190204084208765161.mp4  -vcodec h264 xxx.h264
ffmpeg version 7.0.1 Copyright (c) 2000-2024 the FFmpeg developersbuilt with gcc 11 (Ubuntu 11.4.0-1ubuntu1~22.04)configuration: --prefix=/home/ip3/util/ffmpeg --enable-gpl --enable-nonfree --enable-ffplay --enable-libfdk-aac --enable-libmp3lame --enable-libx264 --enable-libx265 --enable-filter=delogo --enable-debug --disable-optimizations --enable-libspeex --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --extra-cflags=-I/home/ip3/util/ffmpeg/include --extra-ldflags=-L/home/ip3/util/ffmpeg/liblibavutil      59.  8.100 / 59.  8.100libavcodec     61.  3.100 / 61.  3.100libavformat    61.  1.100 / 61.  1.100libavdevice    61.  1.100 / 61.  1.100libavfilter    10.  1.100 / 10.  1.100libswscale      8.  1.100 /  8.  1.100libswresample   5.  1.100 /  5.  1.100libpostproc    58.  1.100 / 58.  1.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '190204084208765161.mp4':Metadata:major_brand     : isomminor_version   : 512compatible_brands: isomiso2avc1mp41encoder         : www.aliyun.com - Media TranscodingDuration: 00:00:31.09, start: 0.000000, bitrate: 1092 kb/sStream #0:0[0x1](und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 1000x416 [SAR 3328:3325 DAR 320:133], 958 kb/s, 24 fps, 24 tbr, 12288 tbn (default)Metadata:handler_name    : VideoHandlervendor_id       : [0][0][0][0]Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 127 kb/s (default)Metadata:handler_name    : SoundHandlervendor_id       : [0][0][0][0]
Stream mapping:Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
Press [q] to stop, [?] for help
[libx264 @ 0x5d059dcfe680] using SAR=3328/3325
[libx264 @ 0x5d059dcfe680] using cpu capabilities: none!
[libx264 @ 0x5d059dcfe680] profile High, level 3.1, 4:2:0, 8-bit
Output #0, h264, to 'xxx.h264':Metadata:major_brand     : isomminor_version   : 512compatible_brands: isomiso2avc1mp41encoder         : Lavf61.1.100Stream #0:0(und): Video: h264, yuv420p(tv, bt709, progressive), 1000x416 [SAR 3328:3325 DAR 320:133], q=2-31, 24 fps, 24 tbn (default)Metadata:handler_name    : VideoHandlervendor_id       : [0][0][0][0]encoder         : Lavc61.3.100 libx264Side data:cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
[out#0/h264 @ 0x5d059dd00540] video:3556KiB audio:0KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: 0.000000%
frame=  746 fps= 74 q=-1.0 Lsize=    3556KiB time=00:00:31.00 bitrate= 939.7kbits/s speed=3.05x
[libx264 @ 0x5d059dcfe680] frame I:35    Avg QP:18.85  size: 18159
[libx264 @ 0x5d059dcfe680] frame P:325   Avg QP:22.46  size:  6011
[libx264 @ 0x5d059dcfe680] frame B:386   Avg QP:23.88  size:  2726
[libx264 @ 0x5d059dcfe680] consecutive B-frames: 21.6% 23.1% 15.7% 39.7%
[libx264 @ 0x5d059dcfe680] mb I  I16..4: 33.1% 40.6% 26.3%
[libx264 @ 0x5d059dcfe680] mb P  I16..4: 19.6% 20.7%  2.4%  P16..4: 26.3%  7.1%  2.1%  0.0%  0.0%    skip:21.8%
[libx264 @ 0x5d059dcfe680] mb B  I16..4:  3.3%  4.5%  0.7%  B16..8: 29.5%  4.7%  0.7%  direct: 1.9%  skip:54.6%  L0:49.0% L1:45.6% BI: 5.4%
[libx264 @ 0x5d059dcfe680] 8x8 transform intra:47.8% inter:70.8%
[libx264 @ 0x5d059dcfe680] coded y,uvDC,uvAC intra: 32.3% 56.0% 9.5% inter: 8.8% 11.6% 0.2%
[libx264 @ 0x5d059dcfe680] i16 v,h,dc,p: 29% 24% 12% 34%
[libx264 @ 0x5d059dcfe680] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 24% 21% 27%  5%  4%  4%  4%  5%  5%
[libx264 @ 0x5d059dcfe680] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 24% 20% 15%  7%  8%  7%  7%  6%  6%
[libx264 @ 0x5d059dcfe680] i8c dc,h,v,p: 51% 22% 20%  6%
[libx264 @ 0x5d059dcfe680] Weighted P-Frames: Y:5.8% UV:4.9%
[libx264 @ 0x5d059dcfe680] ref P L0: 71.7% 13.5% 11.2%  3.6%  0.1%
[libx264 @ 0x5d059dcfe680] ref B L0: 90.4%  8.3%  1.3%
[libx264 @ 0x5d059dcfe680] ref B L1: 98.5%  1.5%
[libx264 @ 0x5d059dcfe680] kb/s:937.16

如果安装之后缺少还某些库文件 ,重新编译对应的库文件,不要配置–prefix=/home/ip3/util/ffmpeg/
会自动安装到 /usr/local/lib目录下


http://www.ppmy.cn/news/1546362.html

相关文章

机器学习——排序特征(Ranking Features)原理详解

排序特征(Ranking Features) 在机器学习中用于排序任务。它们的核心思想是利用特征来判断不同样本的相对顺序,这在信息检索、推荐系统等领域十分常见。排序特征背后的底层原理和实现方式相对复杂,下面从底层原理、常用方法以及代码…

案例精选 | 河北省某检察院安全运营中异构日志数据融合的实践探索

河北省某检察院是当地重要的法律监督机构,肩负着维护法律尊严和社会公平正义的重要职责。该机构依法独立行使检察权,负责对犯罪行为提起公诉,并监督整个诉讼过程,同时积极参与社会治理,保护公民权益,推动法…

WPF Prism中的区域(Region)管理

Prism框架中的区域(Region)管理是一个核心功能,它允许开发者将用户界面划分为多个逻辑区域,每个区域可以动态地加载和显示不同的视图(View)。以下是Prism区域管理的一些关键特性和使用方法: 1.…

Go语言中的`io.Copy`函数:高效的数据复制解决方案

在Go语言中,io.Copy函数是一个强大而高效的工具,用于将数据从一个io.Reader复制到一个io.Writer。这篇文章将深入探讨io.Copy函数的工作原理、使用方法及其在实际应用中的优势。无论您是后端开发人员还是对Go语言感兴趣的程序员,这篇文章都将…

JS爬虫实战之TikTok_Shop验证码

TikTok_Shop验证码逆向 逆向前准备思路1- 确认接口2- 参数确认3- 获取轨迹参数4- 构建请求5- 结果展示 结语 逆向前准备 首先我们得有TK Shop账号,否则是无法抓取到数据的。拥有账号后,我们直接进入登录。 TikTok Shop 登录页面 思路 逆向步骤一般分为…

dns欺骗

[[Ettercap]] 少不了这个 arp 毒化和流量截取的中间人工具。 dns欺骗原理 什么是 DNS 欺骗? DNS 欺骗(DNS Spoofing) 是一种网络攻击技术,攻击者通过修改 DNS 响应,将目标用户的 DNS 查询结果篡改,指向攻…

从 ES Kafka Mongodb Restful ... 取到 json 之后

json 是个好东西,它可以使用公共的文本形式承载了丰富的结构化数据的信息。现代很多技术都在喜欢使用 json 作为数据传输格式,比如 Elastic Search,Restful,Kafka 等,Mongodb 这类对性能较在意的技术则使用了二进制化的 json。 结构化的数据…

Hive面试题-- hive中查询用户连续三天登录记录的实现与解析

在数据分析中,经常会遇到需要分析用户行为连续性的问题,比如查询用户连续三天登录的情况。本文将基于 Hive 来解决这个问题,并详细解释每一步的代码。 一、问题背景与数据准备 我们有一个用户登录记录表,包含两个字段&#xff1…