gpt4 book ai didi

Android Studio 中 ffmpeg 的使用

转载 作者:行者123 更新时间:2023-12-04 23:26:16 26 4
gpt4 key购买 nike

我尝试在 Windows10 下的 Android Studio 中使用 ffmpeg 源。
我通过followinf脚本在Virtual Box上的ubuntu下构建了ffmpeg.3.3.3,并将源代码集成到Android Studio项目中:

#!/bin/bash
NDK=/etc/FFmpegOnAndroid/android-ndk-r14b
SYSROOT=$NDK/platforms/android-21/arch-x86_64
TOOLCHAIN=/etc/FFmpegOnAndroid/android-ndk-r14b/toolchains/x86_64-4.9/prebuilt/linux-x86_64
CPU=arm
PREFIX=/etc/FFmpegOnAndroid/ffmpeg-3.3.3/output
ADDI_CFLAGS="-fomit-frame-pointer"
function build_one
{
./configure \
--prefix=$PREFIX \
--enable-shared \
--disable-static \
--disable-doc \
--disable-doc \
--disable-symver \
--enable-small \
--cross-prefix=$TOOLCHAIN/bin/x86_64-linux-android- \
--target-os=linux \
--arch=x86_64 \
--enable-cross-compile \
--sysroot=$SYSROOT \
--extra-cflags="-Os -fpic $ADDI_CFLAGS" \
--extra-ldflags="$ADDI_LDFLAGS" \
$ADDITIONAL_CONFIGURE_FLAG
make clean
make
make install
}
build_one

当我在 ubuntu 下执行以下命令时,会创建输出文件而不会丢失质量:
ffmpeg -i sample_2.mp4 -i ic_launcher.jpg -filter_complex [1:v]scale=70:-1[wm];[0:v][wm]overlay=W-w-10:H-h-10[out] -map 0:a? -map [out] output.mp4

但是当我调用 main() Android studio 中 ffmpeg.c 的函数具有相同的参数,输出文件的质量会丢失。

以下是创建的输出文件的信息差异:

安卓工作室:
Stream #0:1(und): Video: mpeg4 (Simple Profile) (mp4v / 0x7634706D), yuv420p, 1200x720 [SAR 1:1 DAR 5:3], 585 kb/s, 25 fps, 25 tbr, 12800 tbn, 25 tbc (default)

Ubuntu:
Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 1200x720 [SAR 1:1 DAR 5:3], 423 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc (default)

你能帮我解决这个问题吗?

提前致谢,

萨吉斯·博亚扬

最佳答案

要启用 h264 编码器,您应该使用 x86 构建 ffmpeg(这不是默认配置)。另一方面,h264 解码器是 ffmpeg 的有机组成部分,默认包含在内。请注意,x86 库的许可与大多数 ffmpeg 不同。

关于Android Studio 中 ffmpeg 的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46070953/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com