关于X264单帧编码速度太慢的问题

jacky_chen20 2017-09-15 06:24:20
我在使用X264编码的时候,发现编码速度太慢了。V4L2的摄像头采集帧频率是30帧/s, 每次采集之后立即对这个帧进行编码(没有封装成线程),但是只能达到5帧/s。X264的参数配置如下:
x264_param_default_preset(p_Param,“ultrafast”, “zerolatency”);
//设置X264编码的码率,采用的是CQP恒定质量
p_Param->rc.i_qp_constant = 18;
p_Param>rc.i_rc_method = X264_RC_CQP;

p_encoder>p_Param->i_width = width;
p_encoder>p_Param->i_height = height;
p_encoder>p_Param->i_threads = X264_SYNC_LOOKAHEAD_AUTO;//并行编码,这里是自动选择
p_encoder>p_Param->i_csp = X264_CSP_I420;
p_encoder>p_Param->i_frame_total = 0;//0表示不确定

我的开发板主频达到800M,请问这种情况有遇到没有?你采用的是0延时还是frame并行编码?你的开发板主频打到多少?
...全文
835 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Hello Worm 2017-09-21
  • 打赏
  • 举报
回复
好多方面都会影响编码速度: 1. 是否用了硬件加速?一般针对视频的开发板都会有专门的硬件加速模块,单纯用CPU软编码的不是很多,效率也比较低 2.你只交代了帧率,没有说明分辨率,分辨率过高,自然会使得编码很慢,大多数的摄像头可以轻松达到1080P60的分辨率和帧率,但处理器往往会是瓶颈。 3.降低QP值,也会一定程度的加快编码,只是图像质量变差了些。 如果你只是在v4l2层面去设置,可能未必会了解对应的底层是否已经完全支持了v4l2,建议你可以先去了解一下这些方面的信息以帮助你改善帧延迟。另外,多线程和减少拷贝几乎是视频编码必须注意的事项,也请楼主注意。
jacky_chen20 2017-09-15
  • 打赏
  • 举报
回复
我想用V4L2做远程视频监控,时间太长,导致客户端收到的视频像是按了快进键

23,110

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧