【问题标题】:(Folderwide) Bulk conversion in ffmpeg to a H264 codec(Folderwide) 将 ffmpeg 中的批量转换为 H264 编解码器
【发布时间】:2023-03-13 03:04:01
【问题描述】:

所以我试图掌握 ffmpeg,但我不太擅长。我正在尝试使用 H264 编解码器将所有 .mkv 文件转换为 .m4v。从另一个项目中,我知道 h264_cuvid 解码器非常适合我的需求。我还通过ffmpeg -decoders 检查了我写的是否正确。所以 windows-batchfile(我从其他论坛一起 frankenstein-ed)看起来像这样:

for %%a in ("*.mkv") do ffmpeg -i "%%a" -c:v h264_cuvid -preset fast -crf 20 -b:v 128k "newfiles\%%~na.m4v"
pause

我得到的只是遗憾:

未知编码器'h264_cuvid'

我该如何解决这个问题?

如果从头开始更容易,那么我正在努力实现以下目标

我对整个转换/编码这件事很陌生。我有一个树莓派作为我的视频文件的家庭服务器。遗憾的是,它只能直接流式传输正确编码的文件(H.264),否则 Pi 会尝试对视频本身进行编码(导致缓冲的原因)。所以我正在尝试找到一种解决方案,将我的整个库放入一个文件夹并将其转换为可用的格式。

【问题讨论】:

    标签: python video ffmpeg data-conversion ffprobe


    【解决方案1】:

    我建议您使用其他编解码器,因为 h264_cuvid 与 NVIDIA CUDA 严格相关,当然它不能在 Raspberri Pi 上运行。为了使用 h264_cuvid,您需要一个带有硬件编解码器的 NVIDIA GPU。请参阅https://developer.nvidia.com/nvidia-video-codec-sdk/download 了解更多信息。

    【讨论】:

      【解决方案2】:

      如果可以,请重新复用

      .mkv 文件是否已经包含 H.264 或.m4v 支持的其他格式?如果是,那么您只需 stream copy(重新复用)与 -c:v copy 的视频,而不必重新编码:

      for %%a in ("*.mkv") do ffmpeg -i "%%a" -c:v copy "newfiles\%%~na.m4v"
      pause
      

      h264_cuvid 是一个解码器

      不是编码器,而且 Raspberry 也不支持 CUVID。见FFmpeg Wiki: Hardware


      如果必须编码

      使用 libx264

      for %%a in ("*.mkv") do ffmpeg -i "%%a" -c:v libx264 -preset fast -crf 20 -b:v 128k "newfiles\%%~na.m4v"
      pause
      

      请参阅FFmpeg Wiki: H.264 了解更多信息。

      或 h264_omx 用于硬件加速编码

      如果您的 Raspberry 和 ffmpeg 支持 OpenMax,您可以使用 h264_omx:

      for %%a in ("*.mkv") do ffmpeg -i "%%a" -c:v h264_omx "newfiles\%%~na.m4v"
      pause
      
      • 您需要使用 --enable-omx --enable-omx-rpi 编译您的 ffmpeg 才能使用它。
      • 与 libx264 相比,它是一个简单且有限的编码器,因此结果不会那么好。
      • FFmpeg hardware acceleration on Raspberry PI

      h264_mmal 用于硬件加速解码

      如果您的 ffmpeg 是使用 --enable-mmal 编译的,并且您的 Raspberry 支持 Broadcom 多媒体抽象层,并且您的输入视频格式是 H.264、VC-1、MPEG-2 或 MPEG-4,那么你也可以添加硬件解码:

      for %%a in ("*.mkv") do ffmpeg -c:v h264_mmal -i "%%a" -c:v h264_omx "newfiles\%%~na.m4v"
      pause
      

      【讨论】:

        猜你喜欢
        • 2021-05-01
        • 2013-11-24
        • 2015-09-03
        • 1970-01-01
        • 2011-11-24
        • 1970-01-01
        • 2011-02-24
        • 1970-01-01
        • 2018-11-14
        相关资源
        最近更新 更多