【问题标题】:Extracting frames with nvidia gpu使用 nvidia gpu 提取帧
【发布时间】:2021-02-05 15:22:05
【问题描述】:

我有超过 500 个视频,我需要每 X 秒提取一次帧, 我想使用 google colab 尽可能快地利用 gpus 完成这项工作,框架必须是无损格式,我考虑过 .png 但 ffmpeg 一直以 png 格式失败,所以我愿意接受建议。
视频编解码器是“H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10”,这是我尝试使用的命令:
ffmpeg -hwaccel cuvid -i "video231.mp4" -vf fps=1/2 -q:v 1 ./tests/%04d.png

这个可行,但 colab 一直告诉我我没有使用 gpus,我之前尝试过其他设置,但出现格式错误。

【问题讨论】:

    标签: video ffmpeg gpu google-colaboratory


    【解决方案1】:

    编码

    我不知道硬件加速编码支持的任何无损图像格式。

    解码

    您也许可以使用硬件加速解码。来自FFmpeg Wiki: Hardware Acceleration - NVDEC 的示例。

    使用 CUDA/NVDEC 的示例解码:

    ffmpeg -hwaccel cuda -i input.mp4 -vf fps=1/2 output-%04d.png
    

    使用 CUVID 的 H.264 解码示例:

    ffmpeg -c:v h264_cuvid -i input.mp4 -vf fps=1/2 output-%04d.png
    
    • 检查GPU compatibility table,看看您的 GPU 是否可以解码 H.264。
    • -q:v 1 被 PNG 忽略,所以我省略了它。

    【讨论】:

    • 好的,谢谢你的回答,你能解释一下这2个命令的区别吗?
    • 有错字输出模式'output-%04.png'不正确,正确的形式是'output-%04d.png',即没有字母'd'跨度>
    猜你喜欢
    • 1970-01-01
    • 2020-09-01
    • 2023-03-09
    • 2021-04-20
    • 1970-01-01
    • 2012-10-29
    • 2020-09-18
    • 1970-01-01
    • 2014-05-17
    相关资源
    最近更新 更多