导航:首页 > 操作系统 > androidx264编码

androidx264编码

发布时间:2022-12-12 08:14:03

android-ffmpeg-x264 怎么用

Android内置的编解码器实在太少,于是我们需要FFmpeg。Android提供了NDK,为我们使用FFmpeg这种C语言代码提供了方便。
不过为了用NDK编译FFmpeg,还真的花费了不少时间,也得到了很多人的帮助,最应该谢谢havlenapetr。我觉得我现在这些方法算是比较简洁的了--
下面就尽量详细的说一下我是怎么在项目中使用FFmpeg的,但是基于我混乱的表达能力,有不明白的就问我。
你得了解JNI和Android NDK的基本用法,若觉得我的文章还不错,可以看之前写的JNI简单入门和Android NDK入门
首先创建一个标准的Android项目vPlayer
android create project -n vPlayer -t 8 -p vPlayer -k me.abitno.vplayer -a PlayerView
然后在vPlayer目录里
mkdir jni && cd jni
wget http://ffmpeg.org/releases/ffmpeg-0.6.tar.bz2
tar xf ffmpeg-0.6.tar.bz2 && mv ffmpeg-0.6 ffmpeg && cd ffmpeg
在ffmpeg下新建一个config.sh,内容如下,注意把PREBUILT和PLATFORM设置正确。另外里面有些参数你也可以自行调整,我主要是为了配置一个播放器而这样设置的。
#!/bin/bash

PREBUILT=/home/abitno/Android/android-ndk-r4/build/prebuilt/linux-x86/arm-eabi-4.4.0
PLATFORM=/home/abitno/Android/android-ndk-r4/build/platforms/android-8/arch-arm

./configure --target-os=linux \
--arch=arm \
--enable-version3 \
--enable-gpl \
--enable-nonfree \
--disable-stripping \
--disable-ffmpeg \
--disable-ffplay \
--disable-ffserver \
--disable-ffprobe \
--disable-encoders \
--disable-muxers \
--disable-devices \
--disable-protocols \
--enable-protocol=file \
--enable-avfilter \
--disable-network \
--disable-mpegaudio-hp \
--disable-avdevice \
--enable-cross-compile \
--cc=$PREBUILT/bin/arm-eabi-gcc \
--cross-prefix=$PREBUILT/bin/arm-eabi- \
--nm=$PREBUILT/bin/arm-eabi-nm \
--extra-cflags="-fPIC -DANDROID" \
--disable-asm \
--enable-neon \
--enable-armv5te \
--extra-ldflags="-Wl,-T,$PREBUILT/arm-eabi/lib/ldscripts/armelf.x -Wl,-rpath-link=$PLATFORM/usr/lib -L$PLATFORM/usr/lib -nostdlib $PREBUILT/lib/gcc/arm-eabi/4.4.0/crtbegin.o $PREBUILT/lib/gcc/arm-eabi/4.4.0/crtend.o -lc -lm -ldl"
运行config.sh开始configure
chmod +x config.sh
./config.sh
configure完成后,编辑刚刚生成的config.h,找到这句
#define restrict restrict
Android的GCC不支持restrict关键字,于是修改成下面这样
#define restrict
编辑libavutil/libm.h,把其中的static方法都删除。

❷ android手机用x264编码能达到什么速度呢和intel的cpu差距大吗

我在网上找了一段300帧的yuv视频
Input #0, yuv4mpegpipe, from 'akiyo_qcif.y4m':0KB sq= 0B f=0/0
Duration: N/A, bitrate: N/A
Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 176x144, SAR 128:
117 DAR 1408:1053, 29.97 fps, 29.97 tbr, 29.97 tbn, 29.97 tbc

一下是三种不同的测试结果
x264 只使用1个核心

x264 使用4个核心

x264 自动识别核心数

使用单线程,每秒处理80帧
四线程,立刻飙升到每秒196帧
自动模式(这里返回值也会是4),162帧
由于这里测试并没有进行多次取平均数,只是为验证多线程在多核下的提升,所以可以总结出
性能提升非常明显,有兴趣的朋友,可以下载我的x264 armv7 neon 多核测试包试试

❸ Android如何播放mov格式的视频文件

Android播放“mov”格式的视频文件时,可以借助第三方软件将“mov”格式转换成“mp4”。

此处以微信为例,具体步骤如下:

1、打开安卓手机的微信软件,点开任意聊天框将“mov”格式的视频发送过去。


(3)androidx264编码扩展阅读:

MP4与MOV的区别:

“mp4”格式的视频相比起“mov”格式的视频体积要小得多,前者格式压缩率相比后者要大得多,虽然相对来说更省存储空间,但画质将会受到影响,很不利于后期编辑和制作,尤其是后期特效和调色。

这一点很像数码相机的RAW格式和jpeg格式,前者为无损压缩格式后者则是有损压缩格式,前者的后期调整余地更大。这也是很多资深的摄影者更愿意用前者拍摄的原因。

阅读全文

与androidx264编码相关的资料

热点内容
手机加密中断数据 浏览:505
学校机房服务器长什么样子 浏览:248
csharp的编译器是啥 浏览:486
linux电脑如何连接服务器地址 浏览:955
阿里域名邮箱pop服务器地址 浏览:852
李白pdf 浏览:782
pdfmax 浏览:223
跑步紧身裤压缩裤 浏览:215
郑州金水房价查询app哪个好 浏览:575
房地产开发流程pdf 浏览:243
小鹏p7能耗APP怎么查 浏览:243
如何代挂服务器 浏览:286
安卓机拍视频时怎么当背景音乐 浏览:879
方舟编译器华为p20pro更新 浏览:30
php程序漏洞 浏览:552
手机app怎么转过去 浏览:233
新建文件夹标记 浏览:486
两处收入个税App上怎么申报 浏览:674
hive创建数据库命令 浏览:850
服务器在台湾怎么加速 浏览:706