1、编译x264
git clone https://code.videolan.org/videolan/x264.git
cd x264
./configure --enable-shared --enable-static --disable-asm
make
make install
cp /usr/local/lib/libx264.so.164 /lib
x264, the best H.264/AVC encoder - VideoLAN
2、编译x265
hg clone http://hg.videolan.org/x265
cd x265/build/linux/
./make-Makefiles.bash
make
make install
sudo cp /usr/local/lib/libx265.so.209 /lib
x265, the free H.265/HEVC encoder - VideoLAN
3、编译ffmpeg
./configure --enable-libx265 --enable-libx264 --enable-gpl
make
make install
4、h264、h265编码转换
ffmpeg -i input.mp4 -c:v libx265 output.mp4
ffmpeg -i input.mp4 -c:v libx265 output.h265
ffmpeg -i input.mp4 -c:v libx265 output.hevc
ffmpeg -i input.mp4 -c:v libx264 output.mp4
FFmpeg---源码编译 - WP的烂笔头 - 博客园 (cnblogs.com)
ChatGPT
ffmpeg 是一个非常强大的命令行工具,用于处理视频和音频文件。使用 ffmpeg 可以轻松地将视频文件转换为使用不同编解码器的格式,例如 H.264 (AVC) 和 H.265 (HEVC)。
以下是一些基本的 ffmpeg 命令示例,用于将视频文件转换为使用 H.264 或 H.265 编码的格式:
### H.264 编码
将视频文件转码为使用 H.264 编码的 MP4 格式:
ffmpeg -i input_video.avi -c:v libx264 -preset fast -crf 22 output_video.mp4
这里:
- -i input_video.avi 表示输入文件。
- -c:v libx264 表示使用 H.264 编码器(libx264)。
- -preset fast 选择了编码的预设,决定编码速度和输出文件大小的折中,可用的选项有 ultrafast, superfast, veryfast, faster, fast, medium(默认值), slow, slower, veryslow。
- -crf 22 设置了常量率因子(CRF)的值,该值可用于控制输出质量和文件大小。范围是0-51,其中0是无损模式,23是默认值,51是最差质量。
### H.265 编码
将视频文件转码为使用 H.265 编码的 MP4 格式:
ffmpeg -i input_video.avi -c:v libx265 -preset fast -crf 28 output_video.mp4
这里:
- -i input_video.avi 表示输入文件。
- -c:v libx265 表示使用 H.265 编码器(libx265)。
- -preset fast 如同上面解释的,选择编码速度与质量的折中。
- -crf 28 设置 CRF 值,对于 H.265 来说,大概在 28 是较平衡的选择。
注意:CRF 值的选择可以根据你对质量和文件大小的具体要求进行调整。通常,H.265 可以在更高的 CRF 值下仍然比 H.264 有更好的压缩效率。
确保 ffmpeg 已正确安装在你的系统上,并且包含了 libx264 和 libx265 编解码器。这些在大多数 ffmpeg 的默认安装中都是可用的,但在某些系统上可能需要额外安装。