Skip to content

zhuocandong/FFmpeg

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

FFmpeg README

FFmpeg是一个处理多媒体内容的库和工具的集合,如音频、视频、字幕和相关元数据。 此项目在FFmpeg源码的基础上,根据需求做了定制化修改。

功能

  1. H264软编码 - x264
  2. H264硬编解码 - h264_nvenc / h264_cuvid
  3. H265软编码 - x265
  4. H265硬编解码 - hevc_nvenc / hevc_cuvid
  5. XAVC Intra Class 300编码
  6. AVS软编码 - xavs
  7. AVS2软编解码 - xavs2 / davs2
  8. RTMP/FLV支持H265和OPUS
  9. H265硬编码器支持写入元数据master_display和max_cll
  10. MP3编码 - mp3lame

说明

  1. 以上库以静态库的形式链接到FFmpeg,生成的FFmpeg库为动态库
  2. Linux版本去掉了libpostproc的编译
  3. 使用的FFmpeg版本为release/4.2
  4. Windows版本暂未支持上述的AVS/AVS2/MP3等功能

库版本

FFmpeg

nv-codec-headers

x264

x265

xavs

xavs2

davs2

mp3lame

编译步骤(支持Linux、Windows)

可选择本地编译或者使用docker容器编译(Windwos版本库的编译也在Linux环境下执行,通过交叉编译实现)

dokcer镜像(可选)

由于需要支持硬件编解码功能,编译环境需要安装cuda,推荐使用nvidia/cuda的镜像进行编译。

# 启动容器,挂载路径(如果遇到网络问题可以加上--net=host选项后启动)
docker run -it -v ~/FFmpeg/:/FFmpeg nvidia/cuda:11.1-cudnn8-devel-ubuntu18.04 /bin/bash

安装相关软件

sudo apt update
sudo apt install -y pkg-config build-essential cmake nasm yasm

编译Windows库额外所需的环境

sudo apt install -y mingw-w64

执行脚本编译安装

cd FFmpeg
./build_linux.sh

# or
./build_windows.sh