由于某些原因,我不得不在Windows10操作系统下工作,并使用Android-Studio作为IDE。我的问题是,exoplayer使用Android电视设备的软件和硬件解码器来解码视频流。显然,大多数Android电视设备没有内置的解码器来解码mpeg-2的声音,因此,mpeg-2流的声音是静音的,然而,mpeg-2视频播放得很好。为了解决这些问题,我认为我必须将Ffmpeg扩展嵌入到exoplayer中。为此,我按照建议在Windows PowerShell下执行了here的说明,但存在一些问题。
首先:在使用PowerShell时,windows的HOST_PLATFORM变量的值应该是多少?第二:由于未知的原因,我在执行外壳脚本"build_ffmpeg.sh“时收到以下消息。
What I receive when I execute shell script
现在,我如何为exoplayer (在windows10操作系统下)嵌入ffmpeg扩展,使其能够解码并解决这些问题?我的编程语言是java。谢谢。
注意:请告诉我您是否有任何其他(除了将Ffmpeg嵌入到exoplayer中)来解决我的问题的建议。
发布于 2021-11-07 10:53:20
要在Windows
下为ExoPlayer
构建FFmpeg,只需使用Git Bash for Windows
执行构建过程即可。
所有的命令几乎都是一样的(我们将立即讨论它们之间的区别)。请注意,NDK_PATH是NDK文件夹的路径(通常是版本号,默认情况下可以在YourAndroidSDK\ndk\yourNDKversion
中找到
至于区别,它只针对HOST_PLATFORM
,你应该使用windows-x86_64
,通过检查build_ffmpeg.sh
,有一行代码是这样写的:
TOOLCHAIN_PREFIX="${NDK_PATH}/toolchains/llvm/prebuilt/${HOST_PLATFORM}/bin"
变量NDK仅用于获取正确的HOST_PLATFORM工具。如果你查看上面的路径,你会在“预构建”下找到一个名为windows-x86_64
的文件夹。这就是HOST_PLATFORM中的内容。
如果您正确获取NDK路径、正确的HOST_PLATFORM、正确的FFMPEG_MODULE_PATH以及最后但并非最不重要的ENABLED_DECODERS,那么您应该能够非常容易地构建FFmpeg。
如果您不想重新设置变量,只需使用记事本编辑build_ffmpeg.sh
文件,并编辑变量,使它们成为您想要的那样,而不必在PowerShell终端中重新执行。
https://stackoverflow.com/questions/62151584
复制相似问题