c++ - 如何让视频中的所有帧都变成 i 帧?

标签 c++ ffmpeg

现在我使用 ffmpeg 在 C++ 中编码我的视频。我需要解码没有其他帧的 h264 帧。所以我需要让我视频中的所有帧都变成 i 帧。但我不知道如何设置参数才能做到这一点。如果我需要将我所有的视频帧都制作成 i 帧,我该怎么办?

最佳答案

ffmpeg -i yourfile -c:v libx264 -x264opts keyint=1 out.mp4

-x264opts keyint=1 设置关键帧间隔为1(相信你也可以用-g 1)。您可能还想设置其他速率控制参数,例如-crf 10(质量)和 -preset veryslow(速度),参见 this页面。

关于c++ - 如何让视频中的所有帧都变成 i 帧?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33544874/

相关文章:

ffmpeg - 将ffmpeg添加到clion项目

c++ - COM (C++) Interlock API 是否足以保证 AddRef 和 Release 中的线程安全?

c++ - Boost并发队列非阻塞与非等待

c++ - 我可以在 C++ 中链接多个 .lib

ffmpeg - 使用ffmpeg文件加密视频精华

ffmpeg - 将RGBA转换为YUV420p ffmpeg libavcodec的绿色色调色移

c++ - 在 c++ vs140 (Visual Studio 2015) 下编译的 Visual Studio 项目中使用在 vs80 (Visual Studio 2005) 下编译 C++ 的静态库

c++ - NACL 不是加载模块吗?

具有位深度和采样率的 FFmpeg 滤波器复合体

android - 如何使用此异步函数的回调参数来知道我的函数何时完成执行?