在 FFmpeg 中,我可以-c:v h264_videotoolbox
使用带有 GPU 加速的 Videotoolbox 来特定编码器进行转码。
但是我不知道应该给 ffplay 什么命令来利用 Videotoolbox 进行硬件解码?
ffplay -hwaccel_flags my.mp4 // no GPU usage up
ffplay -pixel_format videotoolbox_vld my.mp4 // Option pixel_format not found
ffplay -decoders | grep "box" // only decoders with (AudioToolbox) shows
ffplay -buildconf // the --enable-videotoolbox is showed
答案1
您可以将结果传输ffmpeg
到ffplay
。我使用VAAPI加速在1080p视频上进行了测试,CPU速率总共下降了约10%。
看硬件加速介绍这里。它讨论了ffmpeg
,但您可以将 的结果通过管道传输ffmpeg
到ffplay
。
例如,玩测试.mp4在 Linux 上使用 VAAPI:
ffmpeg -hwaccel vaapi -hwaccel_device /dev/dri/renderD128 -i test.mp4 \
-vcodec rawvideo -acodec copy -f matroska - | ffplay -i -
用于rawvideo
视频编码,用于-f
指定容器。Videotoolbox
应该类似。如果您设法在 ffmpeg 中解码视频,只需以这种方式Videotoolbox
管道即可。ffplay