FFmpeg同时解码多个流

3

我正在使用ffmpeg解码文件并在android设备上播放。目前已经可以工作,现在希望同时解码两个流。我已经阅读了一些有关需要使用av_lockmgr_register()调用与ffmpeg合作的评论,但不幸的是我不知道如何使用这些锁以及在使用这些锁时流程如何运作。

目前,在Java侧有单独的线程通过JNI向与ffmpeg通信的本机代码发出请求。

这些线程需要在本机(NDK)侧还是可以在Java侧进行管理?如果需要锁定,是否需要在ffmpeg中进行锁定?

***更新 现在我已经做到了这一点,似乎在Java SDK级别设置线程会转换为在本机级别分离的线程。通过这种方式,我能够创建一个带有我的变量的结构体,并传递一个变量到本机层以指定每个视频要使用哪个结构体。到目前为止,我没有在本机层使用任何互斥体或锁定,并且没有遇到任何问题。

有人知道不在ffmpeg中使用锁可能遇到的潜在问题吗?

1个回答

2

我来回答这个问题,我的最新更新方法似乎很有效。通过从Java层控制线程并在不同的线程上进行本地调用,一切都正常运行,我没有遇到任何问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接