指定硬件编码器:
当您使用 FFmpeg 进行视频编码时,可以通过指定硬件编码器来利用显卡的加速功能。以下是一些常用的命令,用于指定硬件编码器:
NVIDIA NVENC 编码器:
使用 NVIDIA 显卡进行硬件加速编码。
示例命令:
ffmpeg -i input.mp4 -c:v h264_nvenc output.mp4
这将使用 NVIDIA 的 NVENC 编码器将 input.mp4 视频文件编码为 H.264 格式,并将结果保存到 output.mp4 文件中。
Intel Quick Sync Video (QSV) 编码器:
使用 Intel 集成显卡进行硬件加速编码。
示例命令:
ffmpeg -i input.mp4 -c:v h264_qsv output.mp4
这将使用 Intel QSV 编码器将 input.mp4 视频文件编码为 H.264 格式。
AMD AMF 编码器:
使用 AMD 显卡进行硬件加速编码。
示例命令:
ffmpeg -i input.mp4 -c:v h264_amf output.mp4
这将使用 AMD 的 AMF 编码器将 input.mp4 视频文件编码为 H.264 格式。
请注意,您需要根据您的实际情况选择适合的硬件编码器,并根据您的需求调整输入文件和输出文件的名称。硬件编码器可以大幅提高编码速度,但具体效果取决于您的硬件设备和驱动程序。
-i udp://127.0.0.1:1234 -c:v h264 -c:a aac
指定使用软解码不可行,会直接停止。
ffmpeg -i udp://127.0.0.1:1234 -c:v h264_mediacodec -c:a aac -strict -2 -
ffmpeg -i udp://127.0.0.1:1234 -c:v h264_mediacodec -c:a aac -strict -2 - | ffplay -
可以试试
ffplay -vcodec h264_mediacodec -i udp://127.0.0.1:1234
需要注意的是,ffplay 与 ffmpeg 在解码方式上有所不同。ffplay 按照帧率进行解码,即播放多少就解码多少,而 ffmpeg 则更倾向于尽快解码。因此,ffmpeg 的硬件解码可能会占用更多的 GPU 资源,但可以通过 -re 参数来控制解码速度。