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.

dm365 视频跳动 音频卡



大家好!

我在用dami做应用开发时,发现如果编码、视频捕获、显示同时放在一个线程处理时,视频显示以及编码出来视频都存在跳动(整副画面小跳动一下,频率也是很大)的现象,而且还发现如果音频的采集与输出与视频的捕获显示也放在一个线程处理时(不编码),视频输出正常,但是音频会很卡很卡,而且延时很大,失声很严重。如果将它们分3个线程(视频编码、视频的捕获显示、音频的采集),音视频都会很正常。请问大家这是会什么原因导致的呀,如何解决呀?

谢谢大家!

  • 可能是视频编码和显示放在一个线程导致视频采集丢帧。

    流模式采集时,如果不在指定时间内调用QBUF,会导致驱动没有缓存可用,引起丢帧。

    你可以通过打印每帧的时间戳来确认这个问题(假定帧率为25fps,不丢帧的情况下相邻两帧之间的间隔是40ms)

    因为视频采集、视频显示和编码对CPU资源消耗较少,但是需要一定的时间才能完成,与IO操作的特性类似,用独立的线程处理IO操作是线程的主要目的之一。

  • 嗯,正是如你所说的,确实是由于丢帧导致的。那这个丢帧的问题如何解决呢,我不太愿意用demo中机制来处理,有没有更好的方法呢?谢谢了...

  • 这是软件设计层面的问题。

    似乎TI没有提供异步通知机制来处理这类问题,多线程是唯一可行的方案。