android - ffmpeg 同时解码多个流

标签 android ffmpeg

我正在使用 ffmpeg 解码文件并在 Android 设备上播放它。我有这个工作,现在想同时解码两个流。我已经阅读了一些关于需要使用 ffmpeg 调用 av_lockmgr_register() 的评论,不幸的是我不确定如何使用这些以及使用这些锁时流程将如何工作。

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

线程是否需要在 native (NDK) 端,或者我可以在 java 端管理它们?我是否需要进行任何锁定,如果需要,那如何与 ffmpeg 一起使用?

***更新 我现在有这个工作,似乎在 java sdk 级别设置线程转移到 native 级别的单独线程。这样我就可以用我的变量创建一个结构,然后将一个变量传递给 native 层以指定每个视频使用的结构。所以因为我需要在 native 级别使用任何互斥锁或锁,并且没有任何问题。

有谁知道如果我不使用 ffmpeg 这样做可能会遇到的潜在陷阱?

最佳答案

我会回答这个问题,我最新的更新方法似乎有效。通过从 Java 层控制线程并在单独的线程上进行 native 调用,一切正常,我没有遇到任何问题。

关于android - ffmpeg 同时解码多个流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8966706/

相关文章:

git - 获取特定版本的 ffmpeg 源代码

ffmpeg - 如何使用 ffmpeg 调整 h264 视频的大小?

PHP exec 无法正常工作

python - Python文件中的FFmpeg已经存在错误

java - 应用程序未启动。找不到错误

java - Android Studio 解析 JSON 时出现问题

android - edittext setOnclicklistener android

android - 如何将 edittext 值存储在字符串数组中?

c# - 如何在除ffmpeg之外的C# windows窗体中合并音频和视频

Android 应用程序因 Intent 而崩溃