完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
请问你使用的是什么软件开发包?
|
|
|
|
谢谢老师的回复,我使用的是8148rdk3.0的开发包,请问您如果我要改变帧率要从哪些地方入手? 我刚刚接触,请您多多指教。 |
|
|
|
在mcfw层可以调用下面函数: /** brief Set Encoder Channel specific dynamic parameters The parameters that are applied depend on the value of 'veParamId' param vencChnId [IN] Channel ID to which this applies param vencStrmID [IN] Channel ID to which this applies param ptEncDynamicParam [IN] Values for the various dynamic parameters param veParamId [IN] Parameter on which to apply the change return ERROR_NONE on success */ Int32 Venc_setDynamicParam(VENC_CHN vencChnId, VENC_STRM vencStrmID, VENC_CHN_DYNAMIC_PARAM_S *ptEncDynamicParam, VENC_PARAM_E veParamId); 调用时,veParamId 选择VENC_FRAMERATE;可以参照demo_encode.c来学习如何使用。 |
|
|
|
Haijun Guo 老师,只需要调用这个函数就可以,将帧率改变吗?? |
|
|
|
需要注意的是,输出帧率设置不可以大于输入帧率。 在demo中,主码流输入帧率一般为30(NTSC)或者25(PAL),所以输出帧率设置要小于这个值。 这个函数具体的使用,建议跑一下demo,在encoding setting里有改变帧率的选项,试着用一下。 在更改后,可以通过打印编码通道详细信息(也在 encoding setting里)来查看更改是否成功。 |
|
|
|
另外还有:函数Vcam_setDynamicParamChn 和函数Vcam_setFrameRate 两者有什么区别? |
|
|
|
你说的是Vcap_....?? Vcap_setFrameRate 设置的是采集后的帧率,实际上是控制DEI模块输出帧率的。 Vcap_setDynamicParamChn 设置的是capture link中的一些动态参数,具体可以配置哪些,参见VCAP_PARAMS_E定义 |
|
|
|
梦见天空 发表于 2018-6-21 07:33 请问一下怎样打印编码通道的详细信息,还有在调试的时候怎样输出调试信息?查看当前程序运行到哪一步的时候 都是是通过printf()函数输出的方法?还是有其他的方法??谢谢!!! |
|
|
|
kgfhdfgx 发表于 2018-6-21 08:09 打印编码通道详细信息:Venc_getDynamicParam(chId, 0, ¶ms, VENC_ALL); 其实在串口上,demo-->encode settings--> i. Print Encode Parameters就可以。 调试程序,还可以使用CCS做单步跟踪。 |
|
|
|
Haijun Guo 老师,我按照你提供的方法,调用Venc_setDynamicParam函数,修改帧率,修改后却出现了一个问题,例如:我将帧率修改为20,但是利用我们公司的客户端的实时视频上帧率却显示只有9,但是我调用Venc_getDynamicParam函数查看帧率却显示为20,公司的客户端实时视频上显示的帧率总比我设置的帧率要小点,不知道这是什么原因??另外我参考以前我们公司368的代码,发现以前修改帧率时不仅对编码venc帧率进行了修改,也对采集capture帧率也进行了修改,他们的修改帧率是自己写的 ,是通过抽帧的思想做的, |
|
|
|
脑洞大赛12 发表于 2018-6-21 08:45 首先要确定的是,通过Venc_setDynamicParam函数,修改帧率,是否有效果,比如更改帧率,实际输出的帧率的确会改变。 如果修改有效果,不过不准确,这时就要看一下编码器的输入帧率了。如果输入帧率为30,你通过Venc_setDynamicParam函数修改帧率为20,输出帧率就会是20.如果实际的输入帧率只有25,则按照比例关系,实际输出的帧率会是25x(20/30)=16. 所以这里要看一下输入帧率是多少,在Demo里,这个输入帧率就是DEI的输出帧率,请确认。 如果在运行Demo,在Demo下串口有一个“i: Print detailed system information”命令,你可以把运行这个命令后的log附上来。 |
|
|
|
梦见天空 发表于 2018-6-21 08:51 十分感谢Haijun Guo老师,确实是这样的 ,我通过Venc_getDynamicParam函数打印编码器帧率 ,发现是60 ,而我的sensor只能采集到25帧,所以当我将帧率设置为20时,帧率只有20*25/60,只有8到9帧 ,当帧率设置为25时,只有25*25/60。 现在我的问题是,如果我希望显示的帧率就是我实实在在设置的帧率,在函数里面我做了一个简单的数学处理 ,就是给设置的帧率*60/25,但是总觉得应该还有更好的方法 ,不知道您能不能给点建议我?另外,我改变帧率后发现,码流也有变化 ,不知道和设置帧率有没有关系,? |
|
|
|
脑洞大赛12 发表于 2018-6-21 09:07 你的问题是,实际输入帧率与设置输入帧率不符,注意是输入帧率。所以,可以通过Int32 Venc_setInputFrameRate(VENC_CHN vencChnId, Int32 veFrameRate);设置正确的输入帧率。这样你的输出帧率就可以直接设置期望帧率了。 另外,你说的码流也有变化指的是什么意思? |
|
|
|
只有小组成员才能发言,加入小组>>
326 浏览 1 评论
524 浏览 2 评论
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
767 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
645 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1120 浏览 1 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
19浏览 28评论
51浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
242浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
192浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
52浏览 13评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-20 14:39 , Processed in 1.278607 second(s), Total 100, Slave 84 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号