You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用VAAPI时FFmpeg无法裁剪RTSP流的问题求助

RTSP流裁剪后推流但裁剪不生效的问题

你当前使用的ffmpeg命令如下:

ffmpeg -vaapi_device /dev/dri/renderD128 \
  -use_wallclock_as_timestamps 1 -fflags nobuffer -loglevel error -hide_banner \
  -hwaccel vaapi -hwaccel_output_format vaapi \
  -i "rtsp://192.168.1.149:554/Streaming/Channels/101" \
  -filter:v "crop=100:100" \
  -rtsp_transport tcp -c:v h264_vaapi \
  -f rtsp rtsp://127.0.0.1:8554/compressed

问题原因

你全程启用了VAAPI硬件加速,输入帧被解码为VAAPI专属的硬件格式,而非CPU可处理的常规像素格式。普通的crop滤镜仅支持处理CPU端的帧数据,无法识别硬件帧,因此裁剪操作实际上未被执行,流仍保持原分辨率输出。

解决方法

改用VAAPI专属的硬件裁剪滤镜crop_vaapi,修正后的命令如下:

ffmpeg -vaapi_device /dev/dri/renderD128 \
  -use_wallclock_as_timestamps 1 -fflags nobuffer -loglevel error -hide_banner \
  -hwaccel vaapi -hwaccel_output_format vaapi \
  -i "rtsp://192.168.1.149:554/Streaming/Channels/101" \
  -filter:v "crop_vaapi=100:100" \
  -rtsp_transport tcp -c:v h264_vaapi \
  -f rtsp rtsp://127.0.0.1:8554/compressed

如果需要指定裁剪起始位置(比如从左上角开始裁剪),可添加x和y参数:

-filter:v "crop_vaapi=100:100:x=0:y=0"

额外检查

确保你的ffmpeg版本编译时包含VAAPI滤镜支持,可通过以下命令验证:

ffmpeg -filters | grep vaapi

若输出中能看到crop_vaapi,说明支持;若没有,需重新编译ffmpeg并启用VAAPI相关滤镜选项。

内容的提问来源于stack exchange,提问作者Lee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 16:07:07