ubuntu22.04 安装ffmpeg

ubuntu22.04 安装ffmpeg

bash 复制代码
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

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

bash 复制代码
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/bin

wget 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 install

ERROR: speex not found using pkg-config

wget 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 install


ERROR: x264 not found using pkg-config

wget 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 install


ERROR: x265 not found using pkg-config

wget 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 install


wget 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 install


cd 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的安装目录

bash 复制代码
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文件

bash 复制代码
Projects/video$ ffmpeg -i 190204084208765161.mp4  -vcodec h264 xxx.h264
ffmpeg version 7.0.1 Copyright (c) 2000-2024 the FFmpeg developers
  built 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/lib
  libavutil      59.  8.100 / 59.  8.100
  libavcodec     61.  3.100 / 61.  3.100
  libavformat    61.  1.100 / 61.  1.100
  libavdevice    61.  1.100 / 61.  1.100
  libavfilter    10.  1.100 / 10.  1.100
  libswscale      8.  1.100 /  8.  1.100
  libswresample   5.  1.100 /  5.  1.100
  libpostproc    58.  1.100 / 58.  1.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '190204084208765161.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : www.aliyun.com - Media Transcoding
  Duration: 00:00:31.09, start: 0.000000, bitrate: 1092 kb/s
  Stream #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    : VideoHandler
        vendor_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    : SoundHandler
        vendor_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     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf61.1.100
  Stream #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    : VideoHandler
        vendor_id       : [0][0][0][0]
        encoder         : Lavc61.3.100 libx264
      Side 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目录下

相关推荐
神仙别闹1 小时前
基于C#实现的(WinForm)模拟操作系统文件管理系统
java·git·ffmpeg
Fre丸子_15 小时前
ffmpeg之播放一个yuv视频
ffmpeg·音视频
yinqinggong17 小时前
从源码编译支持FFmpeg的OpenCV
opencv·ffmpeg
冰山一脚201318 小时前
ffmpeg添加sps,pps
ffmpeg
嘟嘟实验室2 天前
微信小程序xr-frame透明视频实现
微信小程序·ffmpeg·音视频·xr
泰勒朗斯2 天前
如何编译Opencv +ffmpeg linux 明明安装了ffmpeg但是opencv就是找不到
linux·opencv·ffmpeg
-Mr_X-2 天前
windows下srs流媒体服务器使用ffmpeg推流
ffmpeg
dvlinker2 天前
C++开源项目 VLC 源代码的交叉编译以及库的裁剪方法详解
ffmpeg·mingw-w64·msys2·cygwin·开源vlc·vlc编译·vlc裁剪
因我你好久不见3 天前
springboot java ffmpeg 视频压缩、提取视频帧图片、获取视频分辨率
java·spring boot·ffmpeg
cuijiecheng20183 天前
音视频入门基础:MPEG2-TS专题(21)——FFmpeg源码中,获取TS流的视频信息的实现
ffmpeg·音视频