TI中文支持网
TI专业的中文技术问题搜集分享网站

DM8168 隔行扫描的视频重新编解码问题

大家好,现在需要使用DM8168(dvrrdk4.0),对网络ts流重新解编码。

由于ts流的视频格式是使用隔行扫描、H264/mpeg2编码,在重新编码成h264时,画面有抖动的情况。我尝试了以下方法:

1.ipcOutHost->dec->enc->ipcInHost(scanFormat, fieldMergeDecodeEnable,dataLayout不同参数组合都试过)。

2.ipcOutHost->dec->ipc->dei->ipc->enc->ipcInHost(scanFormat, fieldMergeDecodeEnable,dataLayout不同参数组合都试过)。

以上尝试均未能解决画面抖动问题。大家有遇到这样情况吗?

    

Chris Meng:

Long Yun,

不清楚你说的抖动具体是什么现象。

如果你解码后的数据是隔行的,你可以利用DEI去交织,变成逐行数据,然后进行h264编码。

或者你可以配h264编码为编码隔行数据的模式。

yun long1:

回复 Chris Meng:

编码为隔行数据模式,有例子参考吗?

Chris Meng:

回复 yun long1:

Long Yun,

DVR RDK 4.01就支持隔行编码,你可以在enclink_h264.c里面搜索一下INTERLACE关键字。

yun long1:

回复 Chris Meng:

Hi,Chris Meng,

       我使用DVR RDK 4.00,按照你说的两个方法试了,画面抖动还是没能解决。隔行编码,是只有DVR RDK 4.01支持吗?DVR RDK 4.00不支持?

Chris Meng:

回复 yun long1:

Long Yun,

你的抖动具体是什么现象?是否是奇偶场反了?

DVR RDK4.0就支持隔行编码,下面的信息可以在releasenote里面找到:

Support for Interlace mode added in Links (Encoder, Decoder etc)• Refer Interlace Use Case Support for more details

yun long1:

回复 Chris Meng:

抖动情况请看附件中的视频。

主要的问题是,h264/mpeg2解码后的数据,fid固定是FVID2_FID_TOP的。

pReqObj->OutFrameList.frames[prosIdx]->fid = Utils_encdecMapXDMContentType2FVID2FID(displayBufs-> contentType);

Chris Meng:

回复 yun long1:

Long Yun,

你前端收到的h264码流或者是MPEG2码流是否也是隔行编码的?

如果是解码每帧应该会有两场数据,大小是720×288.

yun long1:

回复 Chris Meng:

确实是隔行编码的,用mediainfor 可以确定。解码的大小,也是720×288的,附件中视频,是经过dei处理的,由于只有奇数场,dei其实只是将视频缩放成720×576,所以导致“”抖动“的情况。这会不会是dec库的bug呢?

Chris Meng:

回复 yun long1:

Long Yun,

把TS码流保存下来,用DVR RDK自带的decode+display的demo解码也是同样的问题么?

Chris Meng:

回复 Chris Meng:

Long Yun,

DVR RDK4.01增加了下面的功能,建议你在4.01下使用解码显示的例子测试。

Display

Support for Interlace mode added in Decoder Link (Outputs 2 interlace frames) & Software Mosaic Link (performs de-interlace if interlace frames are input)

赞(0)
未经允许不得转载:TI中文支持网 » DM8168 隔行扫描的视频重新编解码问题
分享到: 更多 (0)