FFmpeg:打开输入流 #0:0 的解码器时出错:参数无效

FFmpeg:打开输入流 #0:0 的解码器时出错:参数无效

嗨,我正在尝试将流转hevc码为h264使用ffmpeg

$ ffmpeg -c:v hevc_v4l2m2m -i video.mkv -c:v h264_v4l2m2m -c:a aac out.mp4

我想使用APIffmpeg明确解码输入视频,然后使用API 对视频进行编码。hevchevc_v4l2m2mh264 codech264_v4l2m2m

但是当我这样做时,ffmpeg会出现以下错误:

[hevc_v4l2m2m @ 0x556a56fcb0] Could not find a valid device
[hevc_v4l2m2m @ 0x556a56fcb0] can't configure decoder
Stream mapping: Stream #0:0 -> #0:0 (hevc (hevc_v4l2m2m) -> h264 (h264_v4l2m2m))
Stream #0:1 -> #0:1 (copy) Error while opening decoder for input stream #0:0 : Invalid argument

有什么指出我做错了什么吗?

答案1

你确定所有流都采用 h265 编码吗?还要检查你的设备是否支持硬件和软件 h265 解码。你可能想尝试

ffmpeg  -i video.mkv -c:v h264_v4l2m2m -c:a copy out.mp4

检查是否可以进行 h264 硬件编码。你总是可以求助于软件解码/编码

ffmpeg -i video.mkv -c:v libx264 -c:a copy out.mkv

相关内容