项目:DM368 + TVP5150视频采集
项目基于:dvsdk_dm368-evm_4_02_00_06
因公司项目需要做DM368 + TVP5158 4路D1 NTSC的视频存储,硬件还没有设计好,只能基于DM368 + TVP5150做1路D1 NTSC进行测试。
DM368 4路D1 NTSC最大只能支持20的帧率,DM368 + TVP5150目前是30帧率。
问:如何修改30的帧率为20帧?具体的代码改动是什么?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
你好,
采集的帧率和输入源相关,无法改变。你可以在编码时候丢帧编码到20帧。注意编码器参数里面的目标码率要修改为你实际每秒编码的帧率。
采集的帧率没法改变,那只能在H.264的编码的代码里,修改调用Venc1_process()函数的次数。30帧的数据,每三帧丢一帧数据,也就是每三帧调用两次Venc1_process()函数,一次不调用,30帧调用20次Venc1_process()函数,达到丢10帧数据的目的。
但是有个问题,就是每三帧丢一帧,出来的视频,失真。我的理解应该是丢帧不平均造成。这个有没有好的解决方案?是否可以用定时器,丢帧的同时,定时50ms调用一次Venc1_process()函数,这样是否可以解决丢帧不平均的问题?
你好,
每三帧丢一帧,出来的视频,失真
【Chris】丢帧应该只会导致视频卡顿,不知道你说的失真是指的卡顿么?
你的视频是不是网络传到 PC 端的时候,出现花屏和卡顿的 ?
你好,问题已经解决,两帧丢一帧没有问题,是视频编码线程获取写线程的缓存时弄错了。
但是有个问题,除了修改调用Venc1_process()函数的次数达到修改帧率的目的,有没有可能修改前段tvp5150采集芯片的时钟或者频率达到修改帧率的目的?