鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

如何使用x265

通过FFmpeg调用x265进行视频编码操作。

  1. 添加依赖库环境变量。
    export LD_LIBRARY_PATH=/home/ffmpeg/install/lib:/home/x265/install/lib
    export PKG_CONFIG_PATH=/home/x265/install/lib/pkgconfig/
  2. 将MP4格式片源转化为YUV格式。
    /home/ffmpeg/install/bin/ffmpeg -i  input.mp4 output.yuv
  3. 开始执行编码程序。相关参数的解释说明如表1所示。
    /home/ffmpeg/install/bin/ffmpeg -s 1920x1080 -framerate 60 -i output.yuv -preset medium -c:v libx265 -x265-params "bitrate=2000:vbv-maxrate=2000:vbv-bufsize=2000:numa-pools='2,-,-,-'" -f null /dev/null > "log.txt" 2>&1
    表1 编码程序参数解释说明

    参数

    说明

    /home/ffmpeg/install/bin/ffmpeg

    指定FFmpeg可执行文件的路径。可自定义。

    -s 1920x1080

    设置输出视频的分辨率为1920x1080。

    -framerate 60

    设置输出视频的帧率为60帧每秒。

    -i input.yuv

    指定输入文件的路径和文件名。

    -preset medium

    设置视频编码的预设选项为medium,该参数设置会影响编码速度和压缩效率。

    -c:v libx265

    指定使用libx265编码器进行视频编码。

    -x265-params "bitrate=2000:vbv-maxrate=2000:vbv-bufsize=2000:numa-pools='2,-,-,-'"

    设置x265编码器的参数,包括码率、最大码率、缓冲区大小和NUMA内存池等。numa-pools后的参数含义依次为:

    • 输入帧使用NUMA节点2。
    • 输出帧使用默认的NUMA节点(-表示默认)。
    • 其他计算任务使用默认的NUMA节点(-表示默认)。

    通过指定这些参数,libx265可以更好地利用NUMA架构系统的资源,以获得更好的性能。

    如果您的系统不是NUMA架构,或者不太了解NUMA相关的知识,您可以简单地将numa-pools参数设置为默认值,即不指定该参数,例如numa-pools='-, -,-,-',或者直接不加这个参数。

    -f null /dev/null

    指定输出格式为null,同时将输出重定向到“/dev/null”,这实际上是将输出丢弃,因为在命令行中“/dev/null”表示空设备,不会保存任何输出结果。-f mp4 output.mp4则是输出mp4格式文件。

    > "log.txt"

    将标准输出重定向到文件“log.txt”。

    2>&1

    将标准错误输出重定向到与标准输出相同的地方,也就是重定向到“log.txt”文件。