Q:我采用ffmpeg调用x264一直出错,命令如下
ffmpeg -s 352x288 -r 50 -pix_fmt yuv420p   -i tmp.yuv tmp.h264
可不可以给点建议,找了很久也没有找到解决办法,错误时error while opening encoder for output stream 0.0 maybe incorrect parameters,先谢了

A。-vcodec libx264 没加?

加了也是一样

你把 x264编进去没

ffmpeg -s 176x144 -pix_fmt yuv420p -r 30 -b 200000 -i foreman_part_qcif.yuv -vcodec libx264 new1.h264

-qmin 10 -qmax 51 -qdiff 4 -me_range 16 -keyint_min 25 -qcomp 0.6

boradcasting 或者 streaming 的应用,CBR都首要优先满足的条件
现在那些高清电视台为什么要使用占用几十兆的资源的mpeg2 ts流来播放,一个主要原因就是因为h.264没有真正cbr,而mpeg2就有
streaming 应用其实也能处理一定程度的VBR,但是在某些时候,为了处理VBR码流的不稳定带来的开销远远超过它带来的好处,不如用CBR,甚至多花几倍的存储和带宽都无所谓
一直很困惑,CBR这种在boradcasting 和 streaming的大型工业级的应用上非常重要的东西,h.264是怎么考虑的

1、VBR 适合的应用场景是媒体存储,而不是网络传输,因此不要让武状元去当文官;
2、其实实际网络传输中所谓的 CBR 一般都是 ABR(平均比特率),即只要是单位时间内把码率控制在额定码率就可以了,因为编码输出本来就有缓冲可以起到平滑波动的作用;
3、你所谓的严格意义上的 CBR 是每一帧都分配同样的码字,试想一下,如果某一帧所需要的码字本来就很少,而你却一定要给它分配很多码字,那不是浪费么?另一方面,如果某一帧所需要的码字本来就多,而你却给得很少,那这帧的效果会很差。这样编下来,整体序列质量会忽好忽坏地不停发生跳变,反而对视觉冲击很大;因此 ABR 才是最适合网络传输的方案;
4、无论是 CBR、ABR 还是 VBR 都是属于码率控制,而码率控制是视频编码的开放部分,它不会改变码流结构的合法性,因此无论在 MPEG2、MPEG4 还是 H.263、H.264 当中都没有做规定;
5、由于目前的视频编码标准都是基于块编码的混合编码框架,因此一个码率控制算法可以用到任何协议上(当然有时候需要做点小的改动),只不过是控制效果好不好的问题,没有哪个 RC 是专属哪个协议的。

楼主的需求就是一种非常硬性的CBR码率控制解决方案,这种解决方案要做到每一个帧的输出比特几乎相同(或误差相当小,甚至小到可以忽略不计)。上面诸多同仁的讨论中已经指出,通过插入(无效的)比特来填充帧编码的比特是一种合理的解决方案,我也认为这可能是必要的一种解决方法了。

我是这样考虑这个问题的:

其一:如果不计编码次数,我们可以对确定的一帧枚举若干给定QP值的编码结果,然后选取不超过但最接近目标比特率的帧编码QP,再填充无效比特;也可以在选择出QP值的基础上,做宏块级枚举QP,微调QP值,以达到更接近目标比特率。这样的一种解决方案想来没有人会喜欢,因为反复编码次数太多,效率太低。但是这种方法可以近最大可能地保留有效比特。

其二:按照楼主的这个需求和您给出的图示,我发现您的应用在1280X534,甚至是1080p。目标比特率以Mkbps为单位,在24Hz和30Hz,在高清画质上做编码。我的经验是,如果给定的比特率足够高,即将此问题放在中高带宽下的码率控制的讨论中,则楼主的问题才具有现实的意义。因为中高比特率下的码率控制要比中低比特率下的好控制的多。

我对这个问题非常感兴趣,若有空闲希望做进一步的深入。稍早些时候我也考虑过这个问题,但是限于知识面太窄,不清楚具体是否有价值作这个问题。楼主在讨论中给出的应用需求和相关背景非常具有参考意义。

我希望给楼主请教一个问题:我看到你给出的图是用bitrate viewer 这个应用程序作图。以前我没有见过,效果还挺好。我想问,这个应用程序是您自己写的还是哪里可以提供的呢?

今晚太困,话不成句,若有闲暇,后作修订。

FFMPEG设置 cbr讨论相关推荐

  1. ffmpeg设置h264编码IDR间隔

    在ffmpeg中,编码h264时,想强制刷出一个I帧,比较容易,但是想强制刷出IDR帧,却没有明确的说明. 而在x264的头文件中,可以看到一个参数说明: int i_keyint_max; /* F ...

  2. 使用FFmpeg设置视频文件的详细信息

    文章目录 1. 按 2. 指令 1. 按 对于mp4文件,目前已测试在Windows10上设置后支持显示的的详细信息有:标题(title).备注(comment).流派(genre).作曲者(comp ...

  3. ffmpeg设置视频 tbr、tbn、tbc

    时间基相关的定义 tbr 表示帧率,该参数倾向于一个基准,往往tbr跟fps相同.(the time base in AVStream that has come from the container ...

  4. zoom手机设置分组讨论,zoom分组讨论功能在哪里

    Zoom分组讨论如何设置 按照日常会议的流程,会议流程一般是总-分-总:先进行会议开场,由主持人交代到场的领导,会议的主要内容:然后各参会者分为多个小组进行探讨交流,每个小组围绕着会议内容探讨出一个会 ...

  5. ffmpeg设置视频帧率

    使用-r参数可以对视频的帧率进行设置,那么是写成ffmpeg -i input -r n output还是ffmpeg -r n -i input output呢? 实际上-r参数用来设置输入文件和输 ...

  6. ffmpeg 设置网络代理_MAC下使用SSH设置代理的办法

    发表于 2013-04-21 13:04:38 by 月小升 MAC下可以利用这个SSH翻qiang 然后,打开"系统偏好设置"->"网络"->&q ...

  7. ffmpeg 设置关键帧

    本文要说三个相关联的概念(GOP, scenecut和keyframe),这几个概念对于理解frame pattern,或者coding structure还是非常基础非常重要的.对于编码参数设置.解 ...

  8. ffmpeg 设置 改变 默认 音轨 声道 顺序 shell 懒人系列-23

    特别注意:因为懒所以懒,做个shell一键执行. 1.建立个文本,改个扩展名shell.sh,复制下面代码-保存. 打开终端(建议直接root用戶运行). 2.sudo chmod +x sheell ...

  9. FFmpeg[31] - 利用FFmpeg设置视频预览封面

    目录 问题 解决 <FFmpeg实用技巧>系列-总览_liuzhen007的专栏-CSDN博客前言FFmpeg是一个完整的跨平台解决方案,可用于音视频的录制.转码.流化处理等应用,号称音视 ...

最新文章

  1. 获取异常信息e.printStackTrace()的内容
  2. opencv,用摄像头识别贴片元件的定位和元件的角度(转载)
  3. SAP Spartacus B2B ListComponent响应回车事件的实现
  4. java类的实现_java类的实现
  5. 【渝粤题库】国家开放大学2021春1258房屋建筑混凝土结构设计题目
  6. 计算机一级115,计算机一级BASIC模拟115.doc
  7. Spring Cloud Hystrix的请求合并
  8. 拖延症讲:反向遍历链表
  9. 小米手环导出心率_这个功能有意思,小米11支持指纹检测心率,没有手环也不怕...
  10. 斐波那契数列(Fibonacci)递归和非递归实现
  11. 公钥、私钥、数字证书的概念 (讲得很明吧,通俗易懂)
  12. 2021-08-04 模糊查询
  13. java泛型特点_Java泛型
  14. thuwc9102划水记
  15. 将路由器作为AP组建局域网的方法
  16. win10计算器rsh_Win10计算器快捷键
  17. 通道布线 matlab程序,快速最优通道布线算法
  18. 微信公众号通过第三方平台完成授权
  19. 简明python教程五----数据结构(下)
  20. 计算机网络七年级教学设计,初中七年级信息技术《计算机网络和因特网》教学设计.docx...

热门文章

  1. 关于C#程序的单元测试
  2. .NET(C#)有哪些主流的ORM框架
  3. ABP入门系列(13)——Redis缓存用起来
  4. ROS导航之参数配置和自适应蒙特卡罗定位
  5. java中随机数彩票练习_基于javascript实现彩票随机数生成(简单版)
  6. 【JS 逆向百例】37网游登录接口参数逆向
  7. CCNA-第十二篇-STP+ACL(下)
  8. Apollo进阶课程㉑丨Apollo规划技术详解——Basic Motion Planning and Overview
  9. 最有效的萨克斯弱音器_1990到2016年全球自杀数据公布,中国自杀死亡率下降最显著!...
  10. 腾讯 tars java_腾讯TARS开源团队郑苏波:腾讯微服务开发框架的源码剖析