导航:首页 > 操作系统 > 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编码相关的资料

热点内容
dvd光盘存储汉子算法 浏览:755
苹果邮件无法连接服务器地址 浏览:958
phpffmpeg转码 浏览:669
长沙好玩的解压项目 浏览:140
专属学情分析报告是什么app 浏览:562
php工程部署 浏览:831
android全屏透明 浏览:730
阿里云服务器已开通怎么办 浏览:801
光遇为什么登录时服务器已满 浏览:300
PDF分析 浏览:483
h3c光纤全工半全工设置命令 浏览:141
公司法pdf下载 浏览:381
linuxmarkdown 浏览:350
华为手机怎么多选文件夹 浏览:682
如何取消命令方块指令 浏览:348
风翼app为什么进不去了 浏览:777
im4java压缩图片 浏览:361
数据查询网站源码 浏览:148
伊克塞尔文档怎么进行加密 浏览:889
app转账是什么 浏览:162