系统环境: ubuntu18.04
FFMPEG版本: 4.2.2
测试的Android 平板系统: Android8.1
第一步: 编译Android设备能使用的FFMPEG库
参考这篇文章: https://blog.csdn.net/xiaolong1126626497/article/details/104730720
第二步: 搭建QTonAndroid的开发环境
我这里QT使用的版本是5.12,环境是在ubuntu18.04(64)环境下。
搭建好Android环境,要保证能够生成向Android设备部署APP。可以先写一个简单的APP测试。
第三步: 向QT环境中添加FFMPEG的库和头文件
打开QT的工程文件(xx.pro),加入FFMPEG的库路径和头文件路径:
#指定库文件的路径
unix:LIBS += -L$$PWD/so_file -lavcodec
unix:LIBS += -L$$PWD/so_file -lavfilter
unix:LIBS += -L$$PWD/so_file -lavutil
unix:LIBS += -L$$PWD/so_file -lavdevice
unix:LIBS += -L$$PWD/so_file -lavformat
unix:LIBS += -L$$PWD/so_file -lpostproc
unix:LIBS += -L$$PWD/so_file -lswscale
unix:LIBS += -L$$PWD/so_file -lswresample
#指定头文件的路径
INCLUDEPATH+=$$PWD/so_file/include
自己的FFMPEG库相关文件存放的位置自己替换即可。
然后再做最重要的一步,向Android里添加用到的FFMPEG动态库:
如果这里不添加,当程序部署到Android设备上时,会因为找不到运行需要的动态库而崩溃。
添加成功之后,在xx.pro文件里会自动生成代码:(下面是我自己添加的库,需要用到 的库)
contains(ANDROID_TARGET_ARCH,arm64-v8a) {
ANDROID_EXTRA_LIBS = \
$$PWD/so_file/libavcodec.so \
$$PWD/so_file/libavfilter.so \
$$PWD/so_file/libavformat.so \
$$PWD/so_file/libavutil.so \
$$PWD/so_file/libpostproc.so \
$$PWD/so_file/libswresample.so \
$$PWD/so_file/libswscale.so \
$$PWD/so_file/libavdevice.so \
/home/wbyq/work_pc/AndroidPath/android-ndk-r19c/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/8.0.2/lib/linux/libclang_rt.ubsan_standalone-aarch64-android.so
}
库添加之后,就可以正常的开发程序了。
如果需要在代码里调用FFMPEG打开Android设备的摄像头,如果是直接打开/dev/videoX设备。在程序里是打不开的,需要使用ADB命令进入到Android设备里,修改/dev/videoX设备具有可读可写的权限,才能正常打开使用。
程序编译时,需要选择正确的编译器,FFMPEG库使用什么编译器版本,QT编译时就得对应。
比如: 编译FFMPEG时使用arm64-v8a 那么,QT的编译器也得一样,否则会导致库的版本不对,而链接失败。
下面编写的一个简单例子,测试FFMPEG: 获取当前FFMPEG的版本号、遍历FFMPEG支持的解码器。
mainwindows.cpp的示例代码:
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include
#include
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
QProcess process;
process.start("pwd");
process.waitForFinished();
QByteArray output = process.readAllStandardOutput();
QString str_output = output;
ui->plainTextEdit->insertPlainText("当前APP的工作路径:"+str_output);
ui->plainTextEdit->insertPlainText(tr("FFMPEG的版本号:%1\n").arg(av_version_info()));
av_register_all();
AVCodec *c_temp = av_codec_next(nullptr);
QString info="FFMPEG支持的解码器:\n";
while (c_temp != nullptr)
{
if (c_temp->decode != nullptr)
{
info+="[Decode]";
}
else
{
info+="[Encode]";
}
switch (c_temp->type)
{
case AVMEDIA_TYPE_VIDEO:
info+="[Video]";
break;
case AVMEDIA_TYPE_AUDIO:
info+="[Audeo]";
break;
default:
info+="[Other]";
break;
}
info+=c_temp->name;
info+="\n";
c_temp = c_temp->next;
}
ui->plainTextEdit->insertPlainText(info);
}
MainWindow::~MainWindow()
{
delete ui;
}
打印的解码库列表如下:
"当前APP的工作路径:/home/wbyq/qt_code/build-ffmpeg_code-Desktop_Qt_5_12_6_GCC_64bit-Release\n"
"FFMPEG的版本号:4.2.2\n"
"[Encode][Video]a64multi ID=142"
"[Encode][Video]a64multi5 ID=143"
"[Encode][Video]alias_pix ID=175"
"[Encode][Video]amv ID=107"
"[Encode][Video]apng ID=32782"
"[Encode][Video]asv1 ID=31"
"[Encode][Video]asv2 ID=32"
"[Encode][Video]avrp ID=32769"
"[Encode][Video]avui ID=32771"
"[Encode][Video]ayuv ID=32772"
"[Encode][Video]bmp ID=78"
"[Encode][Video]cinepak ID=43"
"[Encode][Video]cljr ID=36"
"[Encode][Audeo]comfortnoise ID=86077"
"[Encode][Video]dnxhd ID=99"
"[Encode][Video]dpx ID=128"
"[Encode][Video]dvvideo ID=24"
"[Encode][Video]ffv1 ID=33"
"[Encode][Video]ffvhuff ID=67"
"[Encode][Video]fits ID=32803"
"[Encode][Video]flashsv ID=86"
"[Encode][Video]flashsv2 ID=131"
"[Encode][Video]flv ID=21"
"[Encode][Video]gif ID=97"
"[Encode][Video]h261 ID=3"
"[Encode][Video]h263 ID=4"
"[Encode][Video]h263p ID=19"
"[Encode][Video]huffyuv ID=25"
"[Encode][Video]jpeg2000 ID=88"
"[Encode][Video]jpegls ID=11"
"[Encode][Video]ljpeg ID=9"
"[Encode][Video]magicyuv ID=32787"
"[Encode][Video]mjpeg ID=7"
"[Encode][Video]mpeg1video ID=1"
"[Encode][Video]mpeg2video ID=2"
"[Encode][Video]mpeg4 ID=12"
"[Encode][Video]msmpeg4v2 ID=15"
"[Encode][Video]msmpeg4 ID=16"
"[Encode][Video]msvideo1 ID=46"
"[Encode][Video]pam ID=66"
"[Encode][Video]pbm ID=63"
"[Encode][Video]pcx ID=109"
"[Encode][Video]pgm ID=64"
"[Encode][Video]pgmyuv ID=65"
"[Encode][Video]png ID=61"
"[Encode][Video]ppm ID=62"
"[Encode][Video]prores ID=147"
"[Encode][Video]prores_aw ID=147"
"[Encode][Video]prores_ks ID=147"
"[Encode][Video]qtrle ID=55"
"[Encode][Video]r10k ID=144"
"[Encode][Video]r210 ID=133"
"[Encode][Video]rawvideo ID=13"
"[Encode][Video]roqvideo ID=38"
"[Encode][Video]rv10 ID=5"
"[Encode][Video]rv20 ID=6"
"[Encode][Audeo]s302m ID=65562"
"[Encode][Video]sgi ID=101"
"[Encode][Video]snow ID=32780"
"[Encode][Video]sunrast ID=110"
"[Encode][Video]svq1 ID=22"
"[Encode][Video]targa ID=93"
"[Encode][Video]tiff ID=96"
"[Encode][Video]utvideo ID=152"
"[Encode][Video]v210 ID=127"
"[Encode][Video]v308 ID=32774"
"[Encode][Video]v408 ID=32775"
"[Encode][Video]v410 ID=156"
"[Encode][Video]vc2 ID=116"
"[Encode][Video]wrapped_avframe ID=135169"
"[Encode][Video]wmv1 ID=17"
"[Encode][Video]wmv2 ID=18"
"[Encode][Video]xbm ID=159"
"[Encode][Video]xface ID=32779"
"[Encode][Video]xwd ID=157"
"[Encode][Video]y41p ID=32768"
"[Encode][Video]yuv4 ID=32776"
"[Encode][Video]zlib ID=54"
"[Encode][Video]zmbv ID=81"
"[Encode][Audeo]aac ID=86018"
"[Encode][Audeo]ac3 ID=86019"
"[Encode][Audeo]ac3_fixed ID=86019"
"[Encode][Audeo]alac ID=86032"
"[Encode][Audeo]aptx ID=88081"
"[Encode][Audeo]aptx_hd ID=88082"
"[Encode][Audeo]dca ID=86020"
"[Encode][Audeo]eac3 ID=86056"
"[Encode][Audeo]flac ID=86028"
"[Encode][Audeo]g723_1 ID=86068"
"[Encode][Audeo]mlp ID=86045"
"[Encode][Audeo]mp2 ID=86016"
"[Encode][Audeo]mp2fixed ID=86016"
"[Encode][Audeo]nellymoser ID=86049"
"[Encode][Audeo]opus ID=86076"
"[Encode][Audeo]real_144 ID=77824"
"[Encode][Audeo]sbc ID=88083"
"[Encode][Audeo]sonic ID=88065"
"[Encode][Audeo]sonicls ID=88066"
"[Encode][Audeo]truehd ID=86060"
"[Encode][Audeo]tta ID=86038"
"[Encode][Audeo]vorbis ID=86021"
"[Encode][Audeo]wavpack ID=86041"
"[Encode][Audeo]wmav1 ID=86023"
"[Encode][Audeo]wmav2 ID=86024"
"[Encode][Audeo]pcm_alaw ID=65543"
"[Encode][Audeo]pcm_dvd ID=65555"
"[Encode][Audeo]pcm_f32be ID=65556"
"[Encode][Audeo]pcm_f32le ID=65557"
"[Encode][Audeo]pcm_f64be ID=65558"
"[Encode][Audeo]pcm_f64le ID=65559"
"[Encode][Audeo]pcm_mulaw ID=65542"
"[Encode][Audeo]pcm_s8 ID=65540"
"[Encode][Audeo]pcm_s8_planar ID=65563"
"[Encode][Audeo]pcm_s16be ID=65537"
"[Encode][Audeo]pcm_s16be_planar ID=65566"
"[Encode][Audeo]pcm_s16le ID=65536"
"[Encode][Audeo]pcm_s16le_planar ID=65554"
"[Encode][Audeo]pcm_s24be ID=65549"
"[Encode][Audeo]pcm_s24daud ID=65552"
"[Encode][Audeo]pcm_s24le ID=65548"
"[Encode][Audeo]pcm_s24le_planar ID=65564"
"[Encode][Audeo]pcm_s32be ID=65545"
"[Encode][Audeo]pcm_s32le ID=65544"
"[Encode][Audeo]pcm_s32le_planar ID=65565"
"[Encode][Audeo]pcm_s64be ID=67585"
"[Encode][Audeo]pcm_s64le ID=67584"
"[Encode][Audeo]pcm_u8 ID=65541"
"[Encode][Audeo]pcm_u16be ID=65539"
"[Encode][Audeo]pcm_u16le ID=65538"
"[Encode][Audeo]pcm_u24be ID=65551"
"[Encode][Audeo]pcm_u24le ID=65550"
"[Encode][Audeo]pcm_u32be ID=65547"
"[Encode][Audeo]pcm_u32le ID=65546"
"[Encode][Audeo]pcm_vidc ID=67588"
"[Encode][Audeo]roq_dpcm ID=81920"
"[Encode][Audeo]adpcm_adx ID=69641"
"[Encode][Audeo]g722 ID=69660"
"[Encode][Audeo]g726 ID=69643"
"[Encode][Audeo]g726le ID=71684"
"[Encode][Audeo]adpcm_ima_qt ID=69632"
"[Encode][Audeo]adpcm_ima_wav ID=69633"
"[Encode][Audeo]adpcm_ms ID=69638"
"[Encode][Audeo]adpcm_swf ID=69645"
"[Encode][Audeo]adpcm_yamaha ID=69646"
"[Encode][Other]ssa ID=96269"
"[Encode][Other]ass ID=96269"
"[Encode][Other]dvbsub ID=94209"
"[Encode][Other]dvdsub ID=94208"
"[Encode][Other]mov_text ID=94213"
"[Encode][Other]srt ID=96264"
"[Encode][Other]subrip ID=96264"
"[Encode][Other]text ID=94210"
"[Encode][Other]webvtt ID=96265"
"[Encode][Other]xsub ID=94211"
"[Encode][Video]libx264 ID=27"
"[Encode][Video]libx264rgb ID=27"
"[Encode][Video]h263_v4l2m2m ID=4"
"[Encode][Video]h264_v4l2m2m ID=27"
"[Encode][Video]mpeg4_v4l2m2m ID=12"
"[Encode][Video]vp8_v4l2m2m ID=139"
"[Decode][Video]aasc ID=74"
"[Decode][Video]aic ID=168"
"[Decode][Video]alias_pix ID=175"
"[Decode][Video]agm ID=32811"
"[Decode][Video]amv ID=107"
"[Decode][Video]anm ID=134"
"[Decode][Video]ansi ID=141"
"[Decode][Video]apng ID=32782"
"[Decode][Video]arbc ID=32810"
"[Decode][Video]asv1 ID=31"
"[Decode][Video]asv2 ID=32"
"[Decode][Video]aura ID=123"
"[Decode][Video]aura2 ID=124"
"[Decode][Video]avrp ID=32769"
"[Decode][Video]avrn ID=32777"
"[Decode][Video]avs ID=82"
"[Decode][Video]avui ID=32771"
"[Decode][Video]ayuv ID=32772"
"[Decode][Video]bethsoftvid ID=103"
"[Decode][Video]bfi ID=117"
"[Decode][Video]binkvideo ID=135"
"[Decode][Video]bitpacked ID=32798"
"[Decode][Video]bmp ID=78"
"[Decode][Video]bmv_video ID=153"
"[Decode][Video]brender_pix ID=176"
"[Decode][Video]c93 ID=102"
"[Decode][Video]cavs ID=87"
"[Decode][Video]cdgraphics ID=132"
"[Decode][Video]cdxl ID=158"
"[Decode][Video]cfhd ID=32784"
"[Decode][Video]cinepak ID=43"
"[Decode][Video]clearvideo ID=32795"
"[Decode][Video]cljr ID=36"
"[Decode][Video]cllc ID=165"
"[Decode][Audeo]comfortnoise ID=86077"
"[Decode][Video]cpia ID=32778"
"[Decode][Video]camstudio ID=79"
"[Decode][Video]cyuv ID=26"
"[Decode][Video]dds ID=188"
"[Decode][Video]dfa ID=149"
"[Decode][Video]dirac ID=116"
"[Decode][Video]dnxhd ID=99"
"[Decode][Video]dpx ID=128"
"[Decode][Video]dsicinvideo ID=94"
"[Decode][Audeo]dvaudio ID=86022"
"[Decode][Video]dvvideo ID=24"
"[Decode][Video]dxa ID=98"
"[Decode][Video]dxtory ID=155"
"[Decode][Video]dxv ID=189"
"[Decode][Video]eacmv ID=118"
"[Decode][Video]eamad ID=129"
"[Decode][Video]eatgq ID=121"
"[Decode][Video]eatgv ID=120"
"[Decode][Video]eatqi ID=122"
"[Decode][Video]8bps ID=48"
"[Decode][Audeo]8svx_exp ID=86070"
"[Decode][Audeo]8svx_fib ID=86071"
"[Decode][Video]escape124 ID=115"
"[Decode][Video]escape130 ID=169"
"[Decode][Video]exr ID=178"
"[Decode][Video]ffv1 ID=33"
"[Decode][Video]ffvhuff ID=67"
"[Decode][Video]fic ID=174"
"[Decode][Video]fits ID=32803"
"[Decode][Video]flashsv ID=86"
"[Decode][Video]flashsv2 ID=131"
"[Decode][Video]flic ID=50"
"[Decode][Video]flv ID=21"
"[Decode][Video]fmvc ID=32793"
"[Decode][Video]4xm ID=34"
"[Decode][Video]fraps ID=76"
"[Decode][Video]frwu ID=130"
"[Decode][Video]g2m ID=170"
"[Decode][Video]gdv ID=32802"
"[Decode][Video]gif ID=97"
"[Decode][Video]h261 ID=3"
"[Decode][Video]h263 ID=4"
"[Decode][Video]h263i ID=20"
"[Decode][Video]h263p ID=19"
"[Encode][Video]h263_v4l2m2m ID=4"
"[Decode][Video]h264 ID=27"
"[Encode][Video]h264_v4l2m2m ID=27"
"[Decode][Video]hap ID=187"
"[Decode][Video]hevc ID=173"
"[Decode][Video]hnm4video ID=172"
"[Decode][Video]hq_hqa ID=186"
"[Decode][Video]hqx ID=184"
"[Decode][Video]huffyuv ID=25"
"[Decode][Video]hymt ID=32809"
"[Decode][Video]idcinvideo ID=47"
"[Decode][Video]iff ID=136"
"[Decode][Video]imm4 ID=32804"
"[Decode][Video]indeo2 ID=75"
"[Decode][Video]indeo3 ID=28"
"[Decode][Video]indeo4 ID=111"
"[Decode][Video]indeo5 ID=112"
"[Decode][Video]interplayvideo ID=39"
"[Decode][Video]jpeg2000 ID=88"
"[Decode][Video]jpegls ID=11"
"[Decode][Video]jv ID=148"
"[Decode][Video]kgv1 ID=137"
"[Decode][Video]kmvc ID=85"
"[Decode][Video]lagarith ID=146"
"[Decode][Video]loco ID=72"
"[Decode][Video]lscr ID=32812"
"[Decode][Video]m101 ID=32786"
"[Decode][Video]magicyuv ID=32787"
"[Decode][Video]mdec ID=37"
"[Decode][Video]mimic ID=113"
"[Decode][Video]mjpeg ID=7"
"[Decode][Video]mjpegb ID=8"
"[Decode][Video]mmvideo ID=80"
"[Decode][Video]motionpixels ID=119"
"[Decode][Video]mpeg1video ID=1"
"[Decode][Video]mpeg2video ID=2"
"[Decode][Video]mpeg4 ID=12"
"[Encode][Video]mpeg4_v4l2m2m ID=12"
"[Decode][Video]mpegvideo ID=2"
"[Encode][Video]mpeg1_v4l2m2m ID=1"
"[Encode][Video]mpeg2_v4l2m2m ID=2"
"[Decode][Video]msa1 ID=162"
"[Decode][Video]mscc ID=32799"
"[Decode][Video]msmpeg4v1 ID=14"
"[Decode][Video]msmpeg4v2 ID=15"
"[Decode][Video]msmpeg4 ID=16"
"[Decode][Video]msrle ID=45"
"[Decode][Video]mss1 ID=161"
"[Decode][Video]mss2 ID=166"
"[Decode][Video]msvideo1 ID=46"
"[Decode][Video]mszh ID=53"
"[Decode][Video]mts2 ID=164"
"[Decode][Video]mvc1 ID=182"
"[Decode][Video]mvc2 ID=183"
"[Decode][Video]mwsc ID=32806"
"[Decode][Video]mxpeg ID=145"
"[Decode][Video]nuv ID=84"
"[Decode][Video]paf_video ID=177"
"[Decode][Video]pam ID=66"
"[Decode][Video]pbm ID=63"
"[Decode][Video]pcx ID=109"
"[Decode][Video]pgm ID=64"
"[Decode][Video]pgmyuv ID=65"
"[Decode][Video]pictor ID=140"
"[Decode][Video]pixlet ID=32791"
"[Decode][Video]png ID=61"
"[Decode][Video]ppm ID=62"
"[Decode][Video]prores ID=147"
"[Decode][Video]prosumer ID=32805"
"[Decode][Video]psd ID=32790"
"[Decode][Video]ptx ID=104"
"[Decode][Video]qdraw ID=58"
"[Decode][Video]qpeg ID=60"
"[Decode][Video]qtrle ID=55"
"[Decode][Video]r10k ID=144"
"[Decode][Video]r210 ID=133"
"[Decode][Video]rasc ID=32808"
"[Decode][Video]rawvideo ID=13"
"[Decode][Video]rl2 ID=114"
"[Decode][Video]roqvideo ID=38"
"[Decode][Video]rpza ID=42"
"[Decode][Video]rscc ID=191"
"[Decode][Video]rv10 ID=5"
"[Decode][Video]rv20 ID=6"
"[Decode][Video]rv30 ID=68"
"[Decode][Video]rv40 ID=69"
"[Decode][Audeo]s302m ID=65562"
"[Decode][Video]sanm ID=180"
"[Decode][Video]scpr ID=32794"
"[Decode][Video]screenpresso ID=190"
"[Decode][Audeo]sdx2_dpcm ID=83968"
"[Decode][Video]sgi ID=101"
"[Decode][Video]sgirle ID=181"
"[Decode][Video]sheervideo ID=32788"
"[Decode][Video]smackvid ID=83"
"[Decode][Video]smc ID=49"
"[Decode][Video]smvjpeg ID=32781"
"[Decode][Video]snow ID=32780"
"[Decode][Video]sp5x ID=10"
"[Decode][Video]speedhq ID=32792"
"[Decode][Video]srgc ID=32800"
"[Decode][Video]sunrast ID=110"
"[Decode][Video]svq1 ID=22"
"[Decode][Video]svq3 ID=23"
"[Decode][Video]targa ID=93"
"[Decode][Video]targa_y216 ID=32773"
"[Decode][Video]tdsc ID=185"
"[Decode][Video]theora ID=30"
"[Decode][Video]thp ID=100"
"[Decode][Video]tiertexseqvideo ID=95"
"[Decode][Video]tiff ID=96"
"[Decode][Video]tmv ID=126"
"[Decode][Video]truemotion1 ID=51"
"[Decode][Video]truemotion2 ID=77"
"[Decode][Video]truemotion2rt ID=32785"
"[Decode][Video]camtasia ID=56"
"[Decode][Video]tscc2 ID=163"
"[Decode][Video]txd ID=105"
"[Decode][Video]ultimotion ID=57"
"[Decode][Video]utvideo ID=152"
"[Decode][Video]v210 ID=127"
"[Decode][Video]v210x ID=125"
"[Decode][Video]v308 ID=32774"
"[Decode][Video]v408 ID=32775"
"[Decode][Video]v410 ID=156"
"[Decode][Video]vb ID=108"
"[Decode][Video]vble ID=154"
"[Decode][Video]vc1 ID=70"
"[Decode][Video]vc1image ID=151"
"[Encode][Video]vc1_v4l2m2m ID=70"
"[Decode][Video]vcr1 ID=35"
"[Decode][Video]vmdvideo ID=52"
"[Decode][Video]vmnc ID=89"
"[Decode][Video]vp3 ID=29"
"[Decode][Video]vp4 ID=32813"
"[Decode][Video]vp5 ID=90"
"[Decode][Video]vp6 ID=91"
"[Decode][Video]vp6a ID=106"
"[Decode][Video]vp6f ID=92"
"[Decode][Video]vp7 ID=179"
"[Decode][Video]vp8 ID=139"
"[Encode][Video]vp8_v4l2m2m ID=139"
"[Decode][Video]vp9 ID=167"
"[Encode][Video]vp9_v4l2m2m ID=167"
"[Decode][Video]vqavideo ID=44"
"[Decode][Video]webp ID=171"
"[Decode][Video]wcmv ID=32807"
"[Decode][Video]wrapped_avframe ID=135169"
"[Decode][Video]wmv1 ID=17"
"[Decode][Video]wmv2 ID=18"
"[Decode][Video]wmv3 ID=71"
"[Decode][Video]wmv3image ID=150"
"[Decode][Video]wnv1 ID=73"
"[Decode][Video]xan_wc3 ID=40"
"[Decode][Video]xan_wc4 ID=41"
"[Decode][Video]xbm ID=159"
"[Decode][Video]xface ID=32779"
"[Decode][Video]xl ID=59"
"[Decode][Video]xpm ID=32796"
"[Decode][Video]xwd ID=157"
"[Decode][Video]y41p ID=32768"
"[Decode][Video]ylc ID=32789"
"[Decode][Video]yop ID=138"
"[Decode][Video]yuv4 ID=32776"
"[Decode][Video]012v ID=32770"
"[Decode][Video]zerocodec ID=160"
"[Decode][Video]zlib ID=54"
"[Decode][Video]zmbv ID=81"
"[Decode][Audeo]aac ID=86018"
"[Decode][Audeo]aac_fixed ID=86018"
"[Decode][Audeo]aac_latm ID=86065"
"[Decode][Audeo]ac3 ID=86019"
"[Decode][Audeo]ac3_fixed ID=86019"
"[Decode][Audeo]alac ID=86032"
"[Decode][Audeo]als ID=86061"
"[Decode][Audeo]amrnb ID=73728"
"[Decode][Audeo]amrwb ID=73729"
"[Decode][Audeo]ape ID=86048"
"[Decode][Audeo]aptx ID=88081"
"[Decode][Audeo]aptx_hd ID=88082"
"[Decode][Audeo]atrac1 ID=86062"
"[Decode][Audeo]atrac3 ID=86047"
"[Decode][Audeo]atrac3al ID=88078"
"[Decode][Audeo]atrac3plus ID=86055"
"[Decode][Audeo]atrac3plusal ID=88079"
"[Decode][Audeo]atrac9 ID=88084"
"[Encode][Audeo]binkaudio_dct ID=86064"
"[Encode][Audeo]binkaudio_rdft ID=86063"
"[Decode][Audeo]bmv_audio ID=86072"
"[Decode][Audeo]cook ID=86036"
"[Decode][Audeo]dca ID=86020"
"[Decode][Audeo]dolby_e ID=88080"
"[Decode][Audeo]dsd_lsbf ID=88069"
"[Decode][Audeo]dsd_msbf ID=88070"
"[Decode][Audeo]dsd_lsbf_planar ID=88071"
"[Decode][Audeo]dsd_msbf_planar ID=88072"
"[Decode][Audeo]dsicinaudio ID=86042"
"[Decode][Audeo]dss_sp ID=86082"
"[Decode][Audeo]dst ID=88077"
"[Decode][Audeo]eac3 ID=86056"
"[Decode][Audeo]evrc ID=88067"
"[Decode][Audeo]wavesynth ID=88064"
"[Decode][Audeo]flac ID=86028"
"[Decode][Audeo]g723_1 ID=86068"
"[Decode][Audeo]g729 ID=86069"
"[Decode][Audeo]gsm ID=86034"
"[Decode][Audeo]gsm_ms ID=86046"
"[Decode][Audeo]hcom ID=88085"
"[Decode][Audeo]iac ID=86074"
"[Decode][Audeo]ilbc ID=86075"
"[Decode][Audeo]imc ID=86043"
"[Decode][Audeo]interplayacm ID=88074"
"[Decode][Audeo]mace3 ID=86025"
"[Decode][Audeo]mace6 ID=86026"
"[Decode][Audeo]metasound ID=86079"
"[Decode][Audeo]mlp ID=86045"
"[Decode][Audeo]mp1 ID=86058"
"[Decode][Audeo]mp1float ID=86058"
"[Decode][Audeo]mp2 ID=86016"
"[Decode][Audeo]mp2float ID=86016"
"[Decode][Audeo]mp3float ID=86017"
"[Decode][Audeo]mp3 ID=86017"
"[Decode][Audeo]mp3adufloat ID=86029"
"[Decode][Audeo]mp3adu ID=86029"
"[Decode][Audeo]mp3on4float ID=86030"
"[Decode][Audeo]mp3on4 ID=86030"
"[Decode][Audeo]mpc7 ID=86044"
"[Decode][Audeo]mpc8 ID=86050"
"[Decode][Audeo]nellymoser ID=86049"
"[Decode][Audeo]on2avc ID=86081"
"[Decode][Audeo]opus ID=86076"
"[Decode][Audeo]paf_audio ID=86080"
"[Decode][Audeo]qcelp ID=86040"
"[Decode][Audeo]qdm2 ID=86035"
"[Decode][Audeo]qdmc ID=86066"
"[Decode][Audeo]real_144 ID=77824"
"[Decode][Audeo]real_288 ID=77825"
"[Decode][Audeo]ralf ID=86073"
"[Decode][Audeo]sbc ID=88083"
"[Decode][Audeo]shorten ID=86031"
"[Decode][Audeo]sipr ID=86057"
"[Decode][Audeo]smackaud ID=86039"
"[Decode][Audeo]sonic ID=88065"
"[Decode][Audeo]tak ID=86078"
"[Decode][Audeo]truehd ID=86060"
"[Decode][Audeo]truespeech ID=86037"
"[Decode][Audeo]tta ID=86038"
"[Decode][Audeo]twinvq ID=86059"
"[Decode][Audeo]vmdaudio ID=86027"
"[Decode][Audeo]vorbis ID=86021"
"[Decode][Audeo]wavpack ID=86041"
"[Decode][Audeo]wmalossless ID=86054"
"[Decode][Audeo]wmapro ID=86053"
"[Decode][Audeo]wmav1 ID=86023"
"[Decode][Audeo]wmav2 ID=86024"
"[Decode][Audeo]wmavoice ID=86052"
"[Decode][Audeo]ws_snd1 ID=86033"
"[Decode][Audeo]xma1 ID=88075"
"[Decode][Audeo]xma2 ID=88076"
"[Decode][Audeo]pcm_alaw ID=65543"
"[Decode][Audeo]pcm_bluray ID=65560"
"[Decode][Audeo]pcm_dvd ID=65555"
"[Decode][Audeo]pcm_f16le ID=67586"
"[Decode][Audeo]pcm_f24le ID=67587"
"[Decode][Audeo]pcm_f32be ID=65556"
"[Decode][Audeo]pcm_f32le ID=65557"
"[Decode][Audeo]pcm_f64be ID=65558"
"[Decode][Audeo]pcm_f64le ID=65559"
"[Decode][Audeo]pcm_lxf ID=65561"
"[Decode][Audeo]pcm_mulaw ID=65542"
"[Decode][Audeo]pcm_s8 ID=65540"
"[Decode][Audeo]pcm_s8_planar ID=65563"
"[Decode][Audeo]pcm_s16be ID=65537"
"[Decode][Audeo]pcm_s16be_planar ID=65566"
"[Decode][Audeo]pcm_s16le ID=65536"
"[Decode][Audeo]pcm_s16le_planar ID=65554"
"[Decode][Audeo]pcm_s24be ID=65549"
"[Decode][Audeo]pcm_s24daud ID=65552"
"[Decode][Audeo]pcm_s24le ID=65548"
"[Decode][Audeo]pcm_s24le_planar ID=65564"
"[Decode][Audeo]pcm_s32be ID=65545"
"[Decode][Audeo]pcm_s32le ID=65544"
"[Decode][Audeo]pcm_s32le_planar ID=65565"
"[Decode][Audeo]pcm_s64be ID=67585"
"[Decode][Audeo]pcm_s64le ID=67584"
"[Decode][Audeo]pcm_u8 ID=65541"
"[Decode][Audeo]pcm_u16be ID=65539"
"[Decode][Audeo]pcm_u16le ID=65538"
"[Decode][Audeo]pcm_u24be ID=65551"
"[Decode][Audeo]pcm_u24le ID=65550"
"[Decode][Audeo]pcm_u32be ID=65547"
"[Decode][Audeo]pcm_u32le ID=65546"
"[Decode][Audeo]pcm_vidc ID=67588"
"[Decode][Audeo]pcm_zork ID=65553"
"[Decode][Audeo]gremlin_dpcm ID=83969"
"[Decode][Audeo]interplay_dpcm ID=81921"
"[Decode][Audeo]roq_dpcm ID=81920"
"[Decode][Audeo]sol_dpcm ID=81923"
"[Decode][Audeo]xan_dpcm ID=81922"
"[Decode][Audeo]adpcm_4xm ID=69639"
"[Decode][Audeo]adpcm_adx ID=69641"
"[Decode][Audeo]adpcm_afc ID=71680"
"[Decode][Audeo]adpcm_agm ID=71690"
"[Decode][Audeo]adpcm_aica ID=71687"
"[Decode][Audeo]adpcm_ct ID=69644"
"[Decode][Audeo]adpcm_dtk ID=71682"
"[Decode][Audeo]adpcm_ea ID=69642"
"[Decode][Audeo]adpcm_ea_maxis_xa ID=69658"
"[Decode][Audeo]adpcm_ea_r1 ID=69652"
"[Decode][Audeo]adpcm_ea_r2 ID=69654"
"[Decode][Audeo]adpcm_ea_r3 ID=69653"
"[Decode][Audeo]adpcm_ea_xas ID=69657"
"[Decode][Audeo]g722 ID=69660"
"[Decode][Audeo]g726 ID=69643"
"[Decode][Audeo]g726le ID=71684"
"[Decode][Audeo]adpcm_ima_amv ID=69651"
"[Decode][Audeo]adpcm_ima_apc ID=69661"
"[Decode][Audeo]adpcm_ima_dat4 ID=71688"
"[Decode][Audeo]adpcm_ima_dk3 ID=69634"
"[Decode][Audeo]adpcm_ima_dk4 ID=69635"
"[Decode][Audeo]adpcm_ima_ea_eacs ID=69656"
"[Decode][Audeo]adpcm_ima_ea_sead ID=69655"
"[Decode][Audeo]adpcm_ima_iss ID=69659"
"[Decode][Audeo]adpcm_ima_oki ID=71681"
"[Decode][Audeo]adpcm_ima_qt ID=69632"
"[Decode][Audeo]adpcm_ima_rad ID=71683"
"[Decode][Audeo]adpcm_ima_smjpeg ID=69637"
"[Decode][Audeo]adpcm_ima_wav ID=69633"
"[Decode][Audeo]adpcm_ima_ws ID=69636"
"[Decode][Audeo]adpcm_ms ID=69638"
"[Decode][Audeo]adpcm_mtaf ID=71689"
"[Decode][Audeo]adpcm_psx ID=71686"
"[Decode][Audeo]adpcm_sbpro_2 ID=69649"
"[Decode][Audeo]adpcm_sbpro_3 ID=69648"
"[Decode][Audeo]adpcm_sbpro_4 ID=69647"
"[Decode][Audeo]adpcm_swf ID=69645"
"[Decode][Audeo]adpcm_thp ID=69650"
"[Decode][Audeo]adpcm_thp_le ID=71685"
"[Decode][Audeo]adpcm_vima ID=69662"
"[Decode][Audeo]adpcm_xa ID=69640"
"[Decode][Audeo]adpcm_yamaha ID=69646"
"[Decode][Other]ssa ID=96269"
"[Decode][Other]ass ID=96269"
"[Decode][Other]cc_dec ID=96257"
"[Decode][Other]dvbsub ID=94209"
"[Decode][Other]dvdsub ID=94208"
"[Decode][Other]jacosub ID=96258"
"[Decode][Other]microdvd ID=96256"
"[Decode][Other]mov_text ID=94213"
"[Decode][Other]mpl2 ID=96266"
"[Decode][Other]pgssub ID=94214"
"[Decode][Other]pjs ID=96268"
"[Decode][Other]realtext ID=96260"
"[Decode][Other]sami ID=96259"
"[Decode][Other]srt ID=96264"
"[Decode][Other]stl ID=96261"
"[Decode][Other]subrip ID=96264"
"[Decode][Other]subviewer ID=96263"
"[Decode][Other]subviewer1 ID=96262"
"[Decode][Other]text ID=94210"
"[Decode][Other]vplayer ID=96267"
"[Decode][Other]webvtt ID=96265"
"[Decode][Other]xsub ID=94211"
"[Decode][Video]bintext ID=100352"
"[Decode][Video]xbin ID=100353"
"[Decode][Video]idf ID=100354"
下面是Android 平板电脑上显示的效果: