Add: QQ group of ffmpeg multi-media

pull/209/head
xufulong 3 years ago
parent 345cf7a512
commit 4b81f4ab07
  1. 32
      README.md
  2. 217
      doc/FFmpeg_compile_shell.md
  3. BIN
      picture/ffmpeg_qq.png
  4. BIN
      picture/probe_format.png

@ -1,36 +1,9 @@
# FFmpegAndroid # FFmpegAndroid
android端基于FFmpeg库的使用<br>
添加编译ffmpeg、shine、mp3lame、x264源码的参考脚本<br>
### [FFmpeg官方文档](https://ffmpeg.org/) ### [FFmpeg官方文档](https://ffmpeg.org/)
### [查看FFmpeg编译流程](https://github.com/xufuji456/FFmpegAndroid/blob/master/doc/FFmpeg_compile_shell.md) ### [查看FFmpeg编译流程](https://github.com/xufuji456/FFmpegAndroid/blob/master/doc/FFmpeg_compile_shell.md)
### [查看FFmpeg常用命令行](https://github.com/xufuji456/FFmpegAndroid/blob/master/doc/FFmpeg_command_line.md) ### [查看FFmpeg常用命令行](https://github.com/xufuji456/FFmpegAndroid/blob/master/doc/FFmpeg_command_line.md)
目前音视频相关处理:<br>
#### 音频剪切
#### 音频混音
#### 音频转码
#### 音频编码
#### 视频剪切
#### 视频转码
#### 视频截图
#### 视频降噪
#### 视频抽帧
#### 视频转GIF
#### 视频水印
#### 视频画面拼接
#### 视频反序倒播
#### 视频画中画
#### 图片合成视频
#### 本地直播推流
#### 实时直播推流
#### 音视频解码播放
#### 音乐歌词解析
#### 视频拖动实时预览
#### FFmpeg的AVFilter滤镜
#### ffprobe检测多媒体格式
#### 使用mp3lame库进行mp3转码
### Usage: ### Usage:
### (1) Transform video format: ### (1) Transform video format:
Select video file which you want to transform, and setting the output path.<br> Select video file which you want to transform, and setting the output path.<br>
@ -45,9 +18,12 @@ ffmpeg -i %s -s 1080x720 %s<br>
Select video or audio file from your file explorer, and click the button.<br> Select video or audio file from your file explorer, and click the button.<br>
When it finishes probing, the result of metadata will display on screen.<br> When it finishes probing, the result of metadata will display on screen.<br>
### Joining the group to learn FFmpeg(1群已满): ### Joining the group to learn FFmpeg:
![preview](https://github.com/xufuji456/FFmpegAndroid/blob/master/picture/ffmpeg_group.png) ![preview](https://github.com/xufuji456/FFmpegAndroid/blob/master/picture/ffmpeg_group.png)
### Joining QQ group to learn FFmpeg:
![preview](https://github.com/xufuji456/FFmpegAndroid/blob/master/picture/ffmpeg_qq.png)
### Preview thumbnail when seeking: ### Preview thumbnail when seeking:
![preview](https://github.com/xufuji456/FFmpegAndroid/blob/master/gif/preview.gif) ![preview](https://github.com/xufuji456/FFmpegAndroid/blob/master/gif/preview.gif)

@ -32,111 +32,118 @@ swscale提供图像缩放与像素格式转换,swresample提供音频重采样
| --list-protocols | show all available protocols| | --list-protocols | show all available protocols|
| --list-filters | show all available filters | | --list-filters | show all available filters |
Licensing options: | Licensing options: | Description |
--enable-gpl allow use of GPL code [no] |:------------------------|:----------------------------|
--enable-version3 upgrade (L)GPL to version 3 [no] | --enable-gpl | allow use of GPL code |
--enable-nonfree allow use of nonfree code [no] | --enable-version3 | upgrade (L)GPL to version 3 |
| --enable-nonfree | allow use of nonfree code |
Configuration options:
--prefix=PREFIX install in PREFIX [/usr/local] | Configuration options: | Description |
--disable-static do not build static libraries [no] |:------------------------|:----------------------------|
--enable-shared build shared libraries [no] | --prefix=PREFIX | install in PREFIX |
--enable-small optimize for size instead of speed | --disable-static | do not build static libs |
--disable-all disable components, libraries | --enable-shared | build shared libraries [no] |
--disable-autodetect disable detected external libraries | --enable-small | optimize for size |
| --disable-all | disable components, libs |
Program options: | --disable-autodetect | disable detect external libs|
--disable-programs do not build command line programs
--disable-ffmpeg disable ffmpeg build | Program options: | |
--disable-ffplay disable ffplay build |:------------------------|:----------------------------|
--disable-ffprobe disable ffprobe build | --disable-programs | don't build command line |
| --disable-ffmpeg | disable ffmpeg build |
Component options: | --disable-ffplay | disable ffplay build |
--disable-avdevice disable libavdevice build | --disable-ffprobe | disable ffprobe build |
--disable-avcodec disable libavcodec build
--disable-avformat disable libavformat build | Component options: | Description |
--disable-swresample disable libswresample build |:------------------------|:----------------------------|
--disable-swscale disable libswscale build | --disable-avdevice | disable libavdevice build |
--disable-postproc disable libpostproc build | --disable-avcodec | disable libavcodec build |
--disable-avfilter disable libavfilter build | --disable-avformat | disable libavformat build |
--disable-pthreads disable pthreads | --disable-swresample | disable libswresample build |
--disable-network disable network support [no] | --disable-swscale | disable libswscale build |
| --disable-postproc | disable libpostproc build |
Individual component options: | --disable-avfilter | disable libavfilter build |
--disable-everything disable all components | --disable-pthreads | disable pthreads |
--disable-encoder=NAME disable encoder NAME | --disable-network | disable network support |
--enable-encoder=NAME enable encoder NAME
--disable-encoders disable all encoders | Individual component: | Description |
--disable-decoder=NAME disable decoder NAME |:------------------------|:----------------------------|
--enable-decoder=NAME enable decoder NAME | --disable-everything | disable all components |
--disable-decoders disable all decoders | --disable-encoder=NAME | disable encoder NAME |
--disable-muxer=NAME disable muxer NAME | --enable-encoder=NAME | enable encoder NAME |
--enable-muxer=NAME enable muxer NAME | --disable-encoders | disable all encoders |
--disable-muxers disable all muxers | --disable-decoder=NAME | disable decoder NAME |
--disable-demuxer=NAME disable demuxer NAME | --enable-decoder=NAME | enable decoder NAME |
--enable-demuxer=NAME enable demuxer NAME | --disable-decoders | disable all decoders |
--disable-demuxers disable all demuxers | --disable-muxer=NAME | disable muxer NAME |
--enable-parser=NAME enable parser NAME | --enable-muxer=NAME | enable muxer NAME |
--disable-parser=NAME disable parser NAME | --disable-muxers | disable all muxers |
--disable-parsers disable all parsers | --disable-demuxer=NAME | disable demuxer NAME |
--enable-protocol=NAME enable protocol NAME | --enable-demuxer=NAME | enable demuxer NAME |
--disable-protocol=NAME disable protocol NAME | --disable-demuxers | disable all demuxers |
--disable-protocols disable all protocols | --enable-parser=NAME | enable parser NAME |
--enable-filter=NAME enable filter NAME | --disable-parser=NAME | disable parser NAME |
--disable-filter=NAME disable filter NAME | --disable-parsers | disable all parsers |
--disable-filters disable all filters | --enable-protocol=NAME | enable protocol NAME |
| --disable-protocol=NAME | disable protocol NAME |
External library support: | --disable-protocols | disable all protocols |
--disable-avfoundation disable Apple AVFoundation framework | --enable-filter=NAME | enable filter NAME |
--enable-jni enable JNI support [no] | --disable-filter=NAME | disable filter NAME |
--enable-libaom enable AV1 video codec via libaom [no] | --disable-filters | disable all filters |
--enable-libass enable libass subtitles rendering [no]
--enable-libdav1d enable AV1 decoding via libdav1d [no] | External library: | Description |
--enable-libfdk-aac enable AAC de/encoding via libfdk-aac [no] |:------------------------|:-----------------------------------------|
--enable-libfontconfig enable libfontconfig [no] | --disable-avfoundation | disable Apple AVFoundation framework |
--enable-libfreetype enable libfreetype, needed for drawtext | --enable-jni | enable JNI support [no] |
--enable-libfribidi enable libfribidi, improves drawtext filter | --enable-libaom | enable AV1 video codec via libaom [no] |
--enable-libmp3lame enable MP3 encoding via libmp3lame [no] | --enable-libass | enable libass subtitles rendering [no] |
--enable-libopencv enable video filtering via libopencv [no] | --enable-libdav1d | enable AV1 decoding via libdav1d [no] |
--enable-libopenh264 enable H.264 encoding via OpenH264 [no] | --enable-libfdk-aac | enable AAC de/encoding via libfdk-aac |
--enable-libopus enable Opus de/encoding via libopus [no] | --enable-libfontconfig | enable libfontconfig [no] |
--enable-librtmp enable RTMP[E] support via librtmp [no] | --enable-libfreetype | enable libfreetype, needed for drawtext |
--enable-libshine enable fixed-point MP3 encoding | --enable-libfribidi | enable libfribidi, improves drawtext |
--enable-libsoxr enable Include libsoxr resampling [no] | --enable-libmp3lame | enable MP3 encoding via libmp3lame [no] |
--enable-libspeex enable Speex de/encoding via libspeex [no] | --enable-libopencv | enable video filtering via libopencv [no]|
--enable-libtensorflow enable TensorFlow as a DNN module [no] | --enable-libopenh264 | enable H.264 encoding via OpenH264 [no] |
--enable-libvorbis enable Vorbis en/decoding via libvorbis | --enable-libopus | enable Opus de/encoding via libopus [no] |
--enable-libvpx enable VP8 and VP9 de/encoding via libvpx | --enable-librtmp | enable RTMP[E] support via librtmp [no] |
--enable-libx264 enable H.264 encoding via x264 [no] | --enable-libshine | enable fixed-point MP3 encoding |
--enable-libx265 enable HEVC encoding via x265 [no] | --enable-libsoxr | enable Include libsoxr resampling [no] |
--enable-mediacodec enable Android MediaCodec support [no] | --enable-libspeex | enable Speex de/encoding via libspeex |
--enable-opengl enable OpenGL rendering [no] | --enable-libtensorflow | enable TensorFlow as a DNN module [no] |
--enable-openssl enable openssl, needed for https support | --enable-libvorbis | enable Vorbis en/decoding via libvorbis |
| --enable-libvpx | enable VP8 and VP9 de/encoding via libvpx|
Toolchain options: | --enable-libx264 | enable H.264 encoding via x264 [no] |
--arch=ARCH select architecture [] | --enable-libx265 | enable HEVC encoding via x265 [no] |
--cpu=CPU select the minimum required CPU | --enable-mediacodec | enable Android MediaCodec support [no] |
--cross-prefix=PREFIX use PREFIX for compilation tools [] | --enable-opengl | enable OpenGL rendering [no] |
--enable-cross-compile assume a cross-compiler is used | --enable-openssl | enable openssl, needed for https support |
--sysroot=PATH root of cross-build tree
--target-os=OS compiler targets OS [] | Toolchain options: | Description |
--toolchain=NAME set tool defaults according to name |:------------------------|:----------------------------|
--nm=NM use nm tool NM [nm -g] | --arch=ARCH | select architecture |
--ar=AR use archive tool AR [ar] | --cpu=CPU | select the minimum CPU |
--as=AS use assembler AS [] | --cross-prefix=PREFIX | use PREFIX for compile tool |
--strip=STRIP use strip tool STRIP [strip] | --enable-cross-compile | assume a cross-compiler |
--cc=CC use C compiler CC [gcc] | --sysroot=PATH | root of cross-build tree |
--cxx=CXX use C compiler CXX [g++] | --target-os=OS | compiler targets OS |
--ld=LD use linker LD [] | --toolchain=NAME | set tool according to name |
--host-cc=HOSTCC use host C compiler HOSTCC | --nm=NM | use nm tool NM [nm -g] |
--host-cflags=HCFLAGS use HCFLAGS when compiling for host | --ar=AR | use archive tool AR [ar] |
--host-ld=HOSTLD use host linker HOSTLD | --as=AS | use assembler AS |
--host-ldflags=HLDFLAGS use HLDFLAGS when linking for host | --strip=STRIP | use strip tool STRIP [strip]|
--host-extralibs=HLIBS use libs HLIBS when linking for host | --cc=CC | use C compiler CC [gcc] |
--host-os=OS compiler host OS [] | --cxx=CXX | use C compiler CXX [g++] |
--extra-cflags=ECFLAGS add ECFLAGS to CFLAGS [] | --ld=LD | use linker LD |
--extra-cxxflags=ECFLAGS add ECFLAGS to CXXFLAGS [] | --host-cc=HOSTCC | use host C compiler HOSTCC |
--extra-ldflags=ELDFLAGS add ELDFLAGS to LDFLAGS [] | --host-cflags=HCFLAGS | use HCFLAGS when compiling |
| --host-ld=HOSTLD | use host linker HOSTLD |
| --host-ldflags=HLDFLAGS | use HLDFLAGS when linking |
| --host-extralibs=HLIBS | use libs HLIBS when linking |
| --host-os=OS | compiler host OS |
| --extra-cflags=ECFLAGS | add ECFLAGS to CFLAGS |
| --extra-cxxflags=ECFLAGS| add ECFLAGS to CXXFLAGS |
| --extra-ldflags=ELDFLAGS| add ELDFLAGS to LDFLAGS |
## 2、修改so后缀 ## 2、修改so后缀
默认编译出来的so库包括avcodec、avformat、avutil、avdevice、avfilter、swscale、</br> 默认编译出来的so库包括avcodec、avformat、avutil、avdevice、avfilter、swscale、</br>

Binary file not shown.

After

Width:  |  Height:  |  Size: 147 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 91 KiB

Loading…
Cancel
Save