如何使视频中的所有帧都成为I帧
How can I make all frames in my video become i-frames?
现在我使用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(用于速度),请参阅本页。
相关文章:
- 如何在 C 中正确使用 libiconv 使其不会报告"Arg list too long"?
- std::vector的包装器,使数组的结构看起来像结构的数组
- 函数何时会在c++中包含stack_Unwind_Resume调用
- 如何在全屏模式下(在OpenGL中)使背景透明
- 找到两对数字,使它们的乘积的绝对差最小化
- C++:如何使函数只返回作为列表一部分的字符串
- Python中的for循环与C++有何不同
- c++使用foreach使数组为null
- 使外部项目可用于find_package CMake
- 如何在c++中录制具有精确帧时间戳的视频
- 不确定要在我的main中放入什么才能使我的代码正常工作
- 是否可以在C++中使变量真正只读
- 有可能使shared_ptr协变吗
- 使lambda不可复制/不可移动
- 学习多线程C++:添加线程不会使执行速度更快,即使它看起来应该
- 如何在QT中的自定义视频小工具t上绘制矩形
- 如何使用OpenMP使这个循环并行
- 如何使ffmpeg像Android的内置视频查看器一样高效?
- 如何使视频中的所有帧都成为I帧
- C++11编译器何时会使RVO和NRVO优于移动语义和常量引用绑定