所以我试图掌握ffmpeg,但我不是很擅长。我正在尝试使用H264编解码器将所有.mkv文件转换为.m4v。从另一个项目中,我知道h264_cuvid解码器非常适合我的需要。我还通过ffmpeg -decoders
检查了我写的是否正确。因此windows批处理文件(我从其他论坛收集到了弗兰肯斯坦)如下所示:
for %%a in ("*.mkv") do ffmpeg -i "%%a" -c:v h264_cuvid -preset fast -crf 20 -b:v 128k "newfiles\%%~na.m4v"
pause
可悲的是,我得到的只是:
unknown encoder 'h264_cuvid'
我如何解决这个问题
如果从头开始比较容易,那么以下就是我想要实现的目标
我对整个转换/编码的事情还很陌生。我得到了一个树莓pi作为我的视频文件的主服务器。遗憾的是,它只能对正确编码的文件(H.264)进行流式传输,否则Pi会试图对视频本身进行编码(这是导致缓冲的原因)。因此,我试图找到一个解决方案,将我的整个库放入一个文件夹,并将其转换为可用的格式
如果可以的话,只需重新多路复用
.mkv
文件是否已包含H.264或.m4v
支持的其他格式?如果是,则可以使用stream copy(重新多路复用)视频,而不必重新编码:h264_cuvid是一个解码器
它不是编码器,Raspberry也不支持CUVID。见FFmpeg Wiki: Hardware
如果你必须编码
使用libx264
有关更多信息,请参见FFmpeg Wiki: H.264
或h264_omx用于硬件加速编码
如果您的Raspberry和
ffmpeg
支持OpenMax,则可以使用h264_omx:ffmpeg
编译您的enable-omx enable-omx-rpi
才能使用它李>h264_mmal用于硬件加速解码
如果您的
ffmpeg
是用enable-mmal
编译的,并且您的Raspberry支持Broadcom多媒体抽象层,并且您的输入视频格式是H.264、VC-1、MPEG-2或MPEG-4,那么您还可以添加硬件解码:我建议您使用另一个编解码器,因为h264_cuvid严格与NVIDIA CUDA相关,当然它不会在Raspberri Pi上运行。为了使用h264_cuvid,您需要一个带有HW编解码器的NVIDIA GPU。有关更多信息,请参见https://developer.nvidia.com/nvidia-video-codec-sdk/download
相关问题 更多 >
编程相关推荐