我正试图从我的英特尔/linux机器上的廉价摄像头拍摄的一组照片中创建一个延时视频。
我已经想出了如何使用vaapi和Intel的硬件加速来创建这样的视频剪辑。
我使用的命令如下:
ffmpeg -hwaccel vaapi -hwaccel_output_format vaapi -vaapi_device /dev/dri/renderD128 -pattern_type glob -i '/picture/20220116/*.jpg' -c:v hevc_vaapi output.mp4
然而,当我使用h264_vaapi或hevc_vaapi时,我无法在其上附加(视频)均衡器。
我不想做任何花哨的事情,只是稍微降低伽玛值,稍微降低饱和度,并增加一点对比度。对于像libx264这样的编码器,我在"output.mp4“之前附加了以下权利,没有任何问题:
-vf eq=gamma=0.8:saturation=0.9:contrast=1.1
我的问题是:
不可能在过滤器'Parsed_eq_0‘支持的格式和过滤器'auto_scaler_0’重新初始化过滤器的错误之间转换!未能将帧注入过滤器网络:在处理流#0:0的解码数据时函数未实现错误
提前感谢
发布于 2022-04-09 21:36:17
删除-hwaccel vaapi
应该能让它正常工作。
正在发生的事情是,在设置了-hwaccel
和-hwaccel_output_format
选项之后,解码完全在GPU内存中完成。由于过滤器是在CPU上完成的,所以没有机会应用eq过滤器。
删除-hwaccel
选项意味着在硬件加速编码重新编码之前,解码视频将被传输到主存(并且能够被CPU访问)。
虽然这会稍微慢一些,但解码部分通常不是最慢的步骤,即编码。
从https://ffmpeg.org/pipermail/ffmpeg-user/2018-April/039496.html获取的信息
https://stackoverflow.com/questions/71201861
复制相似问题