实例介绍
Android手机直播推流demo(yasea),支持SRS推流以及滤镜功能
【实例截图】
【核心代码】
yasea-master
└── yasea-master
├── app
│ ├── build.gradle
│ └── src
│ └── main
│ ├── AndroidManifest.xml
│ ├── java
│ │ └── net
│ │ └── ossrs
│ │ └── yasea
│ │ └── demo
│ │ └── MainActivity.java
│ └── res
│ ├── layout
│ │ └── activity_main.xml
│ ├── menu
│ │ └── menu_main.xml
│ ├── mipmap-hdpi
│ │ └── ic_launcher.png
│ ├── mipmap-mdpi
│ │ └── ic_launcher.png
│ ├── mipmap-xhdpi
│ │ └── ic_launcher.png
│ ├── mipmap-xxhdpi
│ │ └── ic_launcher.png
│ ├── mipmap-xxxhdpi
│ │ └── ic_launcher.png
│ ├── values
│ │ ├── colors.xml
│ │ ├── dimens.xml
│ │ ├── strings.xml
│ │ └── styles.xml
│ └── values-w820dp
│ └── dimens.xml
├── build.gradle
├── library
│ ├── build.gradle
│ └── src
│ └── main
│ ├── AndroidManifest.xml
│ ├── assets
│ │ └── filter
│ │ ├── amaromap.png
│ │ ├── amaro_mask1.jpg
│ │ ├── amaro_mask2.jpg
│ │ ├── blackboard1024.png
│ │ ├── blend1.jpg
│ │ ├── bluevintage_mask1.jpg
│ │ ├── brannan_blowout.png
│ │ ├── brannan_contrast.png
│ │ ├── brannan_luma.png
│ │ ├── brannan_process.png
│ │ ├── brannan_screen.png
│ │ ├── brooklynCurves1.png
│ │ ├── brooklynCurves2.png
│ │ ├── calm_mask1.jpg
│ │ ├── calm_mask2.jpg
│ │ ├── earlybirdblowout.png
│ │ ├── earlybirdcurves.png
│ │ ├── earlybirdmap.png
│ │ ├── earlybirdoverlaymap_new.png
│ │ ├── earlybirdOverlayMap.png
│ │ ├── edgeburn.png
│ │ ├── fairy_tale.png
│ │ ├── filter_map_first.png
│ │ ├── flower_layer2c.jpg
│ │ ├── freud_rand.png
│ │ ├── healthy_mask_1.jpg
│ │ ├── hefegradientmap.png
│ │ ├── hefemap.png
│ │ ├── hefemetal.png
│ │ ├── hefesoftlight.png
│ │ ├── hudsonbackground.png
│ │ ├── hudsonmap.png
│ │ ├── inkwellmap.png
│ │ ├── kelvinmap.png
│ │ ├── line_layer_c.jpg
│ │ ├── lomomap_new.png
│ │ ├── lookup_amatorka_02.png
│ │ ├── lookup_highkey.png
│ │ ├── n1977blowout.png
│ │ ├── n1977map.png
│ │ ├── nashvillemap.png
│ │ ├── overlaymap.png
│ │ ├── pixar_curves.png
│ │ ├── risemap.png
│ │ ├── rise_mask1.jpg
│ │ ├── rise_mask2.jpg
│ │ ├── sierramap.png
│ │ ├── sierravignette.png
│ │ ├── softlight.png
│ │ ├── sutrocurves.png
│ │ ├── sutroedgeburn.png
│ │ ├── sutrometal.png
│ │ ├── toastercolorshift.png
│ │ ├── toastercurves.png
│ │ ├── toastermetal.png
│ │ ├── toasteroverlaymapwarm.png
│ │ ├── toastersoftlight.png
│ │ ├── toy_mask1.jpg
│ │ ├── toy_mask2.jpg
│ │ ├── toy_mask3.jpg
│ │ ├── valenciagradientmap.png
│ │ ├── valenciamap.png
│ │ ├── vignettemap_new.png
│ │ ├── vignette_map.png
│ │ ├── walden_map.png
│ │ ├── warm_layer1.jpg
│ │ └── xpromap.png
│ ├── cpp
│ │ ├── Android.mk
│ │ ├── Application.mk
│ │ ├── libenc
│ │ │ ├── Android.mk
│ │ │ └── libenc.cc
│ │ ├── libx264
│ │ │ ├── android_build_arm64_v8a.sh
│ │ │ ├── android_build_armeabi_v7a.sh
│ │ │ ├── android_build_x86.sh
│ │ │ ├── Android.mk
│ │ │ ├── AUTHORS
│ │ │ ├── common
│ │ │ │ ├── aarch64
│ │ │ │ │ ├── asm-offsets.c
│ │ │ │ │ ├── asm-offsets.h
│ │ │ │ │ ├── asm.S
│ │ │ │ │ ├── bitstream-a.S
│ │ │ │ │ ├── cabac-a.S
│ │ │ │ │ ├── dct-a.S
│ │ │ │ │ ├── dct.h
│ │ │ │ │ ├── deblock-a.S
│ │ │ │ │ ├── mc-a.S
│ │ │ │ │ ├── mc-c.c
│ │ │ │ │ ├── mc.h
│ │ │ │ │ ├── pixel-a.S
│ │ │ │ │ ├── pixel.h
│ │ │ │ │ ├── predict-a.S
│ │ │ │ │ ├── predict-c.c
│ │ │ │ │ ├── predict.h
│ │ │ │ │ ├── quant-a.S
│ │ │ │ │ └── quant.h
│ │ │ │ ├── arm
│ │ │ │ │ ├── asm.S
│ │ │ │ │ ├── bitstream-a.S
│ │ │ │ │ ├── cpu-a.S
│ │ │ │ │ ├── dct-a.S
│ │ │ │ │ ├── dct.h
│ │ │ │ │ ├── deblock-a.S
│ │ │ │ │ ├── mc-a.S
│ │ │ │ │ ├── mc-c.c
│ │ │ │ │ ├── mc.h
│ │ │ │ │ ├── pixel-a.S
│ │ │ │ │ ├── pixel.h
│ │ │ │ │ ├── predict-a.S
│ │ │ │ │ ├── predict-c.c
│ │ │ │ │ ├── predict.h
│ │ │ │ │ ├── quant-a.S
│ │ │ │ │ └── quant.h
│ │ │ │ ├── bitstream.c
│ │ │ │ ├── bitstream.h
│ │ │ │ ├── cabac.c
│ │ │ │ ├── cabac.h
│ │ │ │ ├── common.c
│ │ │ │ ├── common.h
│ │ │ │ ├── cpu.c
│ │ │ │ ├── cpu.h
│ │ │ │ ├── dct.c
│ │ │ │ ├── dct.h
│ │ │ │ ├── deblock.c
│ │ │ │ ├── frame.c
│ │ │ │ ├── frame.h
│ │ │ │ ├── macroblock.c
│ │ │ │ ├── macroblock.h
│ │ │ │ ├── mc.c
│ │ │ │ ├── mc.h
│ │ │ │ ├── mips
│ │ │ │ │ ├── dct-c.c
│ │ │ │ │ ├── dct.h
│ │ │ │ │ ├── deblock-c.c
│ │ │ │ │ ├── macros.h
│ │ │ │ │ ├── mc-c.c
│ │ │ │ │ ├── mc.h
│ │ │ │ │ ├── pixel-c.c
│ │ │ │ │ ├── pixel.h
│ │ │ │ │ ├── predict-c.c
│ │ │ │ │ ├── predict.h
│ │ │ │ │ ├── quant-c.c
│ │ │ │ │ └── quant.h
│ │ │ │ ├── mvpred.c
│ │ │ │ ├── opencl
│ │ │ │ │ ├── bidir.cl
│ │ │ │ │ ├── downscale.cl
│ │ │ │ │ ├── intra.cl
│ │ │ │ │ ├── motionsearch.cl
│ │ │ │ │ ├── subpel.cl
│ │ │ │ │ ├── weightp.cl
│ │ │ │ │ └── x264-cl.h
│ │ │ │ ├── opencl.c
│ │ │ │ ├── opencl.h
│ │ │ │ ├── osdep.c
│ │ │ │ ├── osdep.h
│ │ │ │ ├── pixel.c
│ │ │ │ ├── pixel.h
│ │ │ │ ├── ppc
│ │ │ │ │ ├── dct.c
│ │ │ │ │ ├── dct.h
│ │ │ │ │ ├── deblock.c
│ │ │ │ │ ├── mc.c
│ │ │ │ │ ├── mc.h
│ │ │ │ │ ├── pixel.c
│ │ │ │ │ ├── pixel.h
│ │ │ │ │ ├── ppccommon.h
│ │ │ │ │ ├── predict.c
│ │ │ │ │ ├── predict.h
│ │ │ │ │ ├── quant.c
│ │ │ │ │ └── quant.h
│ │ │ │ ├── predict.c
│ │ │ │ ├── predict.h
│ │ │ │ ├── quant.c
│ │ │ │ ├── quant.h
│ │ │ │ ├── rectangle.c
│ │ │ │ ├── rectangle.h
│ │ │ │ ├── set.c
│ │ │ │ ├── set.h
│ │ │ │ ├── threadpool.c
│ │ │ │ ├── threadpool.h
│ │ │ │ ├── vlc.c
│ │ │ │ ├── win32thread.c
│ │ │ │ ├── win32thread.h
│ │ │ │ └── x86
│ │ │ │ ├── bitstream-a.asm
│ │ │ │ ├── cabac-a.asm
│ │ │ │ ├── const-a.asm
│ │ │ │ ├── cpu-a.asm
│ │ │ │ ├── dct-32.asm
│ │ │ │ ├── dct-64.asm
│ │ │ │ ├── dct-a.asm
│ │ │ │ ├── dct.h
│ │ │ │ ├── deblock-a.asm
│ │ │ │ ├── mc-a2.asm
│ │ │ │ ├── mc-a.asm
│ │ │ │ ├── mc-c.c
│ │ │ │ ├── mc.h
│ │ │ │ ├── pixel-32.asm
│ │ │ │ ├── pixel-a.asm
│ │ │ │ ├── pixel.h
│ │ │ │ ├── predict-a.asm
│ │ │ │ ├── predict-c.c
│ │ │ │ ├── predict.h
│ │ │ │ ├── quant-a.asm
│ │ │ │ ├── quant.h
│ │ │ │ ├── sad16-a.asm
│ │ │ │ ├── sad-a.asm
│ │ │ │ ├── trellis-64.asm
│ │ │ │ ├── util.h
│ │ │ │ ├── x86inc.asm
│ │ │ │ └── x86util.asm
│ │ │ ├── config.guess
│ │ │ ├── config.sub
│ │ │ ├── configure
│ │ │ ├── COPYING
│ │ │ ├── doc
│ │ │ │ ├── ratecontrol.txt
│ │ │ │ ├── regression_test.txt
│ │ │ │ ├── standards.txt
│ │ │ │ ├── threads.txt
│ │ │ │ └── vui.txt
│ │ │ ├── encoder
│ │ │ │ ├── analyse.c
│ │ │ │ ├── analyse.h
│ │ │ │ ├── cabac.c
│ │ │ │ ├── cavlc.c
│ │ │ │ ├── encoder.c
│ │ │ │ ├── lookahead.c
│ │ │ │ ├── macroblock.c
│ │ │ │ ├── macroblock.h
│ │ │ │ ├── me.c
│ │ │ │ ├── me.h
│ │ │ │ ├── ratecontrol.c
│ │ │ │ ├── ratecontrol.h
│ │ │ │ ├── rdo.c
│ │ │ │ ├── set.c
│ │ │ │ ├── set.h
│ │ │ │ ├── slicetype.c
│ │ │ │ └── slicetype-cl.c
│ │ │ ├── example.c
│ │ │ ├── extras
│ │ │ │ ├── avisynth_c.h
│ │ │ │ ├── avxsynth_c.h
│ │ │ │ ├── cl.h
│ │ │ │ ├── cl_platform.h
│ │ │ │ ├── getopt.c
│ │ │ │ ├── getopt.h
│ │ │ │ ├── intel_dispatcher.h
│ │ │ │ ├── inttypes.h
│ │ │ │ └── stdint.h
│ │ │ ├── filters
│ │ │ │ ├── filters.c
│ │ │ │ ├── filters.h
│ │ │ │ └── video
│ │ │ │ ├── cache.c
│ │ │ │ ├── crop.c
│ │ │ │ ├── depth.c
│ │ │ │ ├── fix_vfr_pts.c
│ │ │ │ ├── internal.c
│ │ │ │ ├── internal.h
│ │ │ │ ├── resize.c
│ │ │ │ ├── select_every.c
│ │ │ │ ├── source.c
│ │ │ │ ├── video.c
│ │ │ │ └── video.h
│ │ │ ├── input
│ │ │ │ ├── avs.c
│ │ │ │ ├── ffms.c
│ │ │ │ ├── input.c
│ │ │ │ ├── input.h
│ │ │ │ ├── lavf.c
│ │ │ │ ├── raw.c
│ │ │ │ ├── thread.c
│ │ │ │ ├── timecode.c
│ │ │ │ └── y4m.c
│ │ │ ├── libs
│ │ │ │ ├── armeabi-v7a
│ │ │ │ │ └── libx264.a
│ │ │ │ └── x86
│ │ │ │ └── libx264.a
│ │ │ ├── Makefile
│ │ │ ├── output
│ │ │ │ ├── flv_bytestream.c
│ │ │ │ ├── flv_bytestream.h
│ │ │ │ ├── flv.c
│ │ │ │ ├── matroska.c
│ │ │ │ ├── matroska_ebml.c
│ │ │ │ ├── matroska_ebml.h
│ │ │ │ ├── mp4.c
│ │ │ │ ├── mp4_lsmash.c
│ │ │ │ ├── output.h
│ │ │ │ └── raw.c
│ │ │ ├── tools
│ │ │ │ ├── checkasm-aarch64.S
│ │ │ │ ├── checkasm-a.asm
│ │ │ │ ├── checkasm-arm.S
│ │ │ │ ├── checkasm.c
│ │ │ │ ├── cltostr.sh
│ │ │ │ ├── countquant_x264.pl
│ │ │ │ ├── digress
│ │ │ │ │ ├── cli.py
│ │ │ │ │ ├── comparers.py
│ │ │ │ │ ├── constants.py
│ │ │ │ │ ├── errors.py
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── scm
│ │ │ │ │ │ ├── dummy.py
│ │ │ │ │ │ ├── git.py
│ │ │ │ │ │ └── __init__.py
│ │ │ │ │ └── testing.py
│ │ │ │ ├── gas-preprocessor.pl
│ │ │ │ ├── msvsdepend.sh
│ │ │ │ ├── q_matrix_jvt.cfg
│ │ │ │ └── test_x264.py
│ │ │ ├── version.sh
│ │ │ ├── x264.c
│ │ │ ├── x264cli.h
│ │ │ ├── x264_config.h
│ │ │ ├── x264dll.c
│ │ │ ├── x264.h
│ │ │ └── x264res.rc
│ │ └── libyuv
│ │ ├── Android.mk
│ │ ├── include
│ │ │ ├── libyuv
│ │ │ │ ├── basic_types.h
│ │ │ │ ├── compare.h
│ │ │ │ ├── compare_row.h
│ │ │ │ ├── convert_argb.h
│ │ │ │ ├── convert_from_argb.h
│ │ │ │ ├── convert_from.h
│ │ │ │ ├── convert.h
│ │ │ │ ├── cpu_id.h
│ │ │ │ ├── mjpeg_decoder.h
│ │ │ │ ├── planar_functions.h
│ │ │ │ ├── rotate_argb.h
│ │ │ │ ├── rotate.h
│ │ │ │ ├── rotate_row.h
│ │ │ │ ├── row.h
│ │ │ │ ├── scale_argb.h
│ │ │ │ ├── scale.h
│ │ │ │ ├── scale_row.h
│ │ │ │ ├── version.h
│ │ │ │ └── video_common.h
│ │ │ └── libyuv.h
│ │ ├── LICENSE
│ │ └── source
│ │ ├── compare.cc
│ │ ├── compare_common.cc
│ │ ├── compare_gcc.cc
│ │ ├── compare_neon64.cc
│ │ ├── compare_neon.cc
│ │ ├── compare_win.cc
│ │ ├── convert_argb.cc
│ │ ├── convert.cc
│ │ ├── convert_from_argb.cc
│ │ ├── convert_from.cc
│ │ ├── convert_jpeg.cc
│ │ ├── convert_to_argb.cc
│ │ ├── convert_to_i420.cc
│ │ ├── cpu_id.cc
│ │ ├── mjpeg_decoder.cc
│ │ ├── mjpeg_validate.cc
│ │ ├── planar_functions.cc
│ │ ├── rotate_any.cc
│ │ ├── rotate_argb.cc
│ │ ├── rotate.cc
│ │ ├── rotate_common.cc
│ │ ├── rotate_gcc.cc
│ │ ├── rotate_mips.cc
│ │ ├── rotate_neon64.cc
│ │ ├── rotate_neon.cc
│ │ ├── rotate_win.cc
│ │ ├── row_any.cc
│ │ ├── row_common.cc
│ │ ├── row_gcc.cc
│ │ ├── row_mips.cc
│ │ ├── row_neon64.cc
│ │ ├── row_neon.cc
│ │ ├── row_win.cc
│ │ ├── scale_any.cc
│ │ ├── scale_argb.cc
│ │ ├── scale.cc
│ │ ├── scale_common.cc
│ │ ├── scale_gcc.cc
│ │ ├── scale_mips.cc
│ │ ├── scale_neon64.cc
│ │ ├── scale_neon.cc
│ │ ├── scale_win.cc
│ │ └── video_common.cc
│ ├── java
│ │ ├── com
│ │ │ ├── coremedia
│ │ │ │ └── iso
│ │ │ │ ├── AbstractBoxParser.java
│ │ │ │ ├── Ascii.java
│ │ │ │ ├── boxes
│ │ │ │ │ ├── AbstractMediaHeaderBox.java
│ │ │ │ │ ├── AlbumBox.java
│ │ │ │ │ ├── apple
│ │ │ │ │ │ ├── AbstractAppleMetaDataBox.java
│ │ │ │ │ │ ├── AppleAlbumArtistBox.java
│ │ │ │ │ │ ├── AppleAlbumBox.java
│ │ │ │ │ │ ├── AppleArtistBox.java
│ │ │ │ │ │ ├── AppleCommentBox.java
│ │ │ │ │ │ ├── AppleCompilationBox.java
│ │ │ │ │ │ ├── AppleCopyrightBox.java
│ │ │ │ │ │ ├── AppleCoverBox.java
│ │ │ │ │ │ ├── AppleCustomGenreBox.java
│ │ │ │ │ │ ├── AppleDataBox.java
│ │ │ │ │ │ ├── AppleDataRateBox.java
│ │ │ │ │ │ ├── AppleDataReferenceBox.java
│ │ │ │ │ │ ├── AppleDescriptionBox.java
│ │ │ │ │ │ ├── AppleEncoderBox.java
│ │ │ │ │ │ ├── AppleGaplessPlaybackBox.java
│ │ │ │ │ │ ├── AppleGenericBox.java
│ │ │ │ │ │ ├── AppleGroupingBox.java
│ │ │ │ │ │ ├── AppleIdBox.java
│ │ │ │ │ │ ├── AppleItemListBox.java
│ │ │ │ │ │ ├── AppleLosslessSpecificBox.java
│ │ │ │ │ │ ├── AppleMeanBox.java
│ │ │ │ │ │ ├── AppleMediaTypeBox.java
│ │ │ │ │ │ ├── AppleNameBox.java
│ │ │ │ │ │ ├── AppleNetworkBox.java
│ │ │ │ │ │ ├── ApplePurchaseDateBox.java
│ │ │ │ │ │ ├── AppleRatingBox.java
│ │ │ │ │ │ ├── AppleRecordingYearBox.java
│ │ │ │ │ │ ├── AppleReferenceMovieBox.java
│ │ │ │ │ │ ├── AppleReferenceMovieDescriptorBox.java
│ │ │ │ │ │ ├── AppleShowBox.java
│ │ │ │ │ │ ├── AppleSortAlbumBox.java
│ │ │ │ │ │ ├── AppleStandardGenreBox.java
│ │ │ │ │ │ ├── AppleStoreAccountTypeBox.java
│ │ │ │ │ │ ├── AppleStoreCountryCodeBox.java
│ │ │ │ │ │ ├── AppleSynopsisBox.java
│ │ │ │ │ │ ├── AppleTempBox.java
│ │ │ │ │ │ ├── AppleTrackAuthorBox.java
│ │ │ │ │ │ ├── AppleTrackNumberBox.java
│ │ │ │ │ │ ├── AppleTrackTitleBox.java
│ │ │ │ │ │ ├── AppleTvEpisodeBox.java
│ │ │ │ │ │ ├── AppleTvEpisodeNumberBox.java
│ │ │ │ │ │ ├── AppleTvSeasonBox.java
│ │ │ │ │ │ └── AppleWaveBox.java
│ │ │ │ │ ├── AuthorBox.java
│ │ │ │ │ ├── BitRateBox.java
│ │ │ │ │ ├── Box.java
│ │ │ │ │ ├── ChunkOffset64BitBox.java
│ │ │ │ │ ├── ChunkOffsetBox.java
│ │ │ │ │ ├── ClassificationBox.java
│ │ │ │ │ ├── CompositionShiftLeastGreatestAtom.java
│ │ │ │ │ ├── CompositionTimeToSample.java
│ │ │ │ │ ├── ContainerBox.java
│ │ │ │ │ ├── CopyrightBox.java
│ │ │ │ │ ├── DataEntryUrlBox.java
│ │ │ │ │ ├── DataEntryUrnBox.java
│ │ │ │ │ ├── DataInformationBox.java
│ │ │ │ │ ├── DataReferenceBox.java
│ │ │ │ │ ├── dece
│ │ │ │ │ │ └── TrickPlayBox.java
│ │ │ │ │ ├── DescriptionBox.java
│ │ │ │ │ ├── EditBox.java
│ │ │ │ │ ├── EditListBox.java
│ │ │ │ │ ├── FileTypeBox.java
│ │ │ │ │ ├── fragment
│ │ │ │ │ │ ├── MovieExtendsBox.java
│ │ │ │ │ │ ├── MovieExtendsHeaderBox.java
│ │ │ │ │ │ ├── MovieFragmentBox.java
│ │ │ │ │ │ ├── MovieFragmentHeaderBox.java
│ │ │ │ │ │ ├── MovieFragmentRandomAccessBox.java
│ │ │ │ │ │ ├── MovieFragmentRandomAccessOffsetBox.java
│ │ │ │ │ │ ├── SampleFlags.java
│ │ │ │ │ │ ├── SegmentTypeBox.java
│ │ │ │ │ │ ├── TrackExtendsBox.java
│ │ │ │ │ │ ├── TrackFragmentBaseMediaDecodeTimeBox.java
│ │ │ │ │ │ ├── TrackFragmentBox.java
│ │ │ │ │ │ ├── TrackFragmentHeaderBox.java
│ │ │ │ │ │ ├── TrackFragmentRandomAccessBox.java
│ │ │ │ │ │ └── TrackRunBox.java
│ │ │ │ │ ├── FreeBox.java
│ │ │ │ │ ├── FreeSpaceBox.java
│ │ │ │ │ ├── FullBox.java
│ │ │ │ │ ├── GenreBox.java
│ │ │ │ │ ├── h264
│ │ │ │ │ │ └── AvcConfigurationBox.java
│ │ │ │ │ ├── HandlerBox.java
│ │ │ │ │ ├── HintMediaHeaderBox.java
│ │ │ │ │ ├── ItemDataBox.java
│ │ │ │ │ ├── ItemLocationBox.java
│ │ │ │ │ ├── ItemProtectionBox.java
│ │ │ │ │ ├── KeywordsBox.java
│ │ │ │ │ ├── mdat
│ │ │ │ │ │ ├── DummyMap.java
│ │ │ │ │ │ ├── MediaDataBox.java
│ │ │ │ │ │ └── SampleList.java
│ │ │ │ │ ├── MediaBox.java
│ │ │ │ │ ├── MediaHeaderBox.java
│ │ │ │ │ ├── MediaInformationBox.java
│ │ │ │ │ ├── MetaBox.java
│ │ │ │ │ ├── MovieBox.java
│ │ │ │ │ ├── MovieHeaderBox.java
│ │ │ │ │ ├── NullMediaHeaderBox.java
│ │ │ │ │ ├── ObjectDescriptorBox.java
│ │ │ │ │ ├── odf-boxes.zip
│ │ │ │ │ ├── OmaDrmAccessUnitFormatBox.java
│ │ │ │ │ ├── OriginalFormatBox.java
│ │ │ │ │ ├── PerformerBox.java
│ │ │ │ │ ├── ProgressiveDownloadInformationBox.java
│ │ │ │ │ ├── ProtectionSchemeInformationBox.java
│ │ │ │ │ ├── RatingBox.java
│ │ │ │ │ ├── RecordingYearBox.java
│ │ │ │ │ ├── rtp-boxes.zip
│ │ │ │ │ ├── SampleAuxiliaryInformationOffsetsBox.java
│ │ │ │ │ ├── SampleAuxiliaryInformationSizesBox.java
│ │ │ │ │ ├── SampleDependencyTypeBox.java
│ │ │ │ │ ├── SampleDescriptionBox.java
│ │ │ │ │ ├── sampleentry
│ │ │ │ │ │ ├── AmrSpecificBox.java
│ │ │ │ │ │ ├── AudioSampleEntry.java
│ │ │ │ │ │ ├── MpegSampleEntry.java
│ │ │ │ │ │ ├── Ovc1VisualSampleEntryImpl.java
│ │ │ │ │ │ ├── SampleEntry.java
│ │ │ │ │ │ ├── SubtitleSampleEntry.java
│ │ │ │ │ │ ├── TextSampleEntry.java
│ │ │ │ │ │ └── VisualSampleEntry.java
│ │ │ │ │ ├── SampleSizeBox.java
│ │ │ │ │ ├── SampleTableBox.java
│ │ │ │ │ ├── SampleToChunkBox.java
│ │ │ │ │ ├── SchemeInformationBox.java
│ │ │ │ │ ├── SchemeTypeBox.java
│ │ │ │ │ ├── SoundMediaHeaderBox.java
│ │ │ │ │ ├── StaticChunkOffsetBox.java
│ │ │ │ │ ├── SubSampleInformationBox.java
│ │ │ │ │ ├── SubtitleMediaHeaderBox.java
│ │ │ │ │ ├── SyncSampleBox.java
│ │ │ │ │ ├── threegpp26244
│ │ │ │ │ │ └── LocationInformationBox.java
│ │ │ │ │ ├── TimeToSampleBox.java
│ │ │ │ │ ├── TitleBox.java
│ │ │ │ │ ├── TrackBox.java
│ │ │ │ │ ├── TrackHeaderBox.java
│ │ │ │ │ ├── TrackReferenceBox.java
│ │ │ │ │ ├── TrackReferenceTypeBox.java
│ │ │ │ │ ├── UnknownBox.java
│ │ │ │ │ ├── UserBox.java
│ │ │ │ │ ├── UserDataBox.java
│ │ │ │ │ ├── VideoMediaHeaderBox.java
│ │ │ │ │ ├── vodafone
│ │ │ │ │ │ ├── AlbumArtistBox.java
│ │ │ │ │ │ ├── ContentDistributorIdBox.java
│ │ │ │ │ │ ├── CoverUriBox.java
│ │ │ │ │ │ └── LyricsUriBox.java
│ │ │ │ │ ├── WriteListener.java
│ │ │ │ │ └── XmlBox.java
│ │ │ │ ├── BoxParser.java
│ │ │ │ ├── ChannelHelper.java
│ │ │ │ ├── Hex.java
│ │ │ │ ├── IsoFile.java
│ │ │ │ ├── IsoTypeReader.java
│ │ │ │ ├── IsoTypeReaderVariable.java
│ │ │ │ ├── IsoTypeWriter.java
│ │ │ │ ├── IsoTypeWriterVariable.java
│ │ │ │ ├── PropertyBoxParserImpl.java
│ │ │ │ └── Utf8.java
│ │ │ ├── github
│ │ │ │ └── faucamp
│ │ │ │ └── simplertmp
│ │ │ │ ├── amf
│ │ │ │ │ ├── AmfArray.java
│ │ │ │ │ ├── AmfBoolean.java
│ │ │ │ │ ├── AmfData.java
│ │ │ │ │ ├── AmfDecoder.java
│ │ │ │ │ ├── AmfMap.java
│ │ │ │ │ ├── AmfNull.java
│ │ │ │ │ ├── AmfNumber.java
│ │ │ │ │ ├── AmfObject.java
│ │ │ │ │ ├── AmfString.java
│ │ │ │ │ ├── AmfType.java
│ │ │ │ │ └── AmfUndefined.java
│ │ │ │ ├── Crypto.java
│ │ │ │ ├── DefaultRtmpPublisher.java
│ │ │ │ ├── io
│ │ │ │ │ ├── ChunkStreamInfo.java
│ │ │ │ │ ├── RtmpConnection.java
│ │ │ │ │ ├── RtmpDecoder.java
│ │ │ │ │ ├── RtmpSessionInfo.java
│ │ │ │ │ └── WindowAckRequired.java
│ │ │ │ ├── packets
│ │ │ │ │ ├── Abort.java
│ │ │ │ │ ├── Acknowledgement.java
│ │ │ │ │ ├── Audio.java
│ │ │ │ │ ├── Command.java
│ │ │ │ │ ├── ContentData.java
│ │ │ │ │ ├── Data.java
│ │ │ │ │ ├── Handshake.java
│ │ │ │ │ ├── RtmpHeader.java
│ │ │ │ │ ├── RtmpPacket.java
│ │ │ │ │ ├── SetChunkSize.java
│ │ │ │ │ ├── SetPeerBandwidth.java
│ │ │ │ │ ├── UserControl.java
│ │ │ │ │ ├── VariableBodyRtmpPacket.java
│ │ │ │ │ ├── Video.java
│ │ │ │ │ └── WindowAckSize.java
│ │ │ │ ├── RtmpHandler.java
│ │ │ │ ├── RtmpPublisher.java
│ │ │ │ └── Util.java
│ │ │ ├── googlecode
│ │ │ │ └── mp4parser
│ │ │ │ ├── AbstractBox.java
│ │ │ │ ├── AbstractContainerBox.java
│ │ │ │ ├── AbstractFullBox.java
│ │ │ │ ├── annotations
│ │ │ │ │ ├── DoNotParseDetail.java
│ │ │ │ │ └── ParseDetail.java
│ │ │ │ ├── authoring
│ │ │ │ │ ├── AbstractTrack.java
│ │ │ │ │ ├── adaptivestreaming
│ │ │ │ │ │ ├── AbstractManifestWriter.java
│ │ │ │ │ │ ├── AudioQuality.java
│ │ │ │ │ │ ├── FlatManifestWriterImpl.java
│ │ │ │ │ │ ├── FlatPackageWriterImpl.java
│ │ │ │ │ │ ├── ManifestWriter.java
│ │ │ │ │ │ ├── PackageWriter.java
│ │ │ │ │ │ └── VideoQuality.java
│ │ │ │ │ ├── builder
│ │ │ │ │ │ ├── ByteBufferHelper.java
│ │ │ │ │ │ ├── DefaultMp4Builder.java
│ │ │ │ │ │ ├── FragmentedMp4Builder.java
│ │ │ │ │ │ ├── FragmentIntersectionFinder.java
│ │ │ │ │ │ ├── Mp4Builder.java
│ │ │ │ │ │ ├── SyncSampleIntersectFinderImpl.java
│ │ │ │ │ │ └── TwoSecondIntersectionFinder.java
│ │ │ │ │ ├── container
│ │ │ │ │ │ └── mp4
│ │ │ │ │ │ └── MovieCreator.java
│ │ │ │ │ ├── DateHelper.java
│ │ │ │ │ ├── Movie.java
│ │ │ │ │ ├── Mp4TrackImpl.java
│ │ │ │ │ ├── Track.java
│ │ │ │ │ ├── TrackMetaData.java
│ │ │ │ │ └── tracks
│ │ │ │ │ ├── AACTrackImpl.java
│ │ │ │ │ ├── AC3TrackImpl.java
│ │ │ │ │ ├── Amf0Track.java
│ │ │ │ │ ├── AppendTrack.java
│ │ │ │ │ ├── ChangeTimeScaleTrack.java
│ │ │ │ │ ├── CroppedTrack.java
│ │ │ │ │ ├── DivideTimeScaleTrack.java
│ │ │ │ │ ├── EC3TrackImpl.java
│ │ │ │ │ ├── H264TrackImpl.java
│ │ │ │ │ ├── MultiplyTimeScaleTrack.java
│ │ │ │ │ ├── QuicktimeTextTrackImpl.java
│ │ │ │ │ ├── ReplaceSampleTrack.java
│ │ │ │ │ ├── SilenceTrackImpl.java
│ │ │ │ │ └── TextTrackImpl.java
│ │ │ │ ├── boxes
│ │ │ │ │ ├── AbstractSampleEncryptionBox.java
│ │ │ │ │ ├── AbstractTrackEncryptionBox.java
│ │ │ │ │ ├── AC3SpecificBox.java
│ │ │ │ │ ├── adobe
│ │ │ │ │ │ └── ActionMessageFormat0SampleEntryBox.java
│ │ │ │ │ ├── apple
│ │ │ │ │ │ ├── BaseMediaInfoAtom.java
│ │ │ │ │ │ ├── GenericMediaHeaderAtom.java
│ │ │ │ │ │ ├── GenericMediaHeaderTextAtom.java
│ │ │ │ │ │ ├── QuicktimeTextSampleEntry.java
│ │ │ │ │ │ ├── TaptAtom.java
│ │ │ │ │ │ └── TimeCodeBox.java
│ │ │ │ │ ├── basemediaformat
│ │ │ │ │ │ ├── AvcNalUnitStorageBox.java
│ │ │ │ │ │ ├── SampleEncryptionBox.java
│ │ │ │ │ │ └── TrackEncryptionBox.java
│ │ │ │ │ ├── cenc
│ │ │ │ │ │ └── ProtectionSystemSpecificHeaderBox.java
│ │ │ │ │ ├── DTSSpecificBox.java
│ │ │ │ │ ├── EC3SpecificBox.java
│ │ │ │ │ ├── MLPSpecificBox.java
│ │ │ │ │ ├── mp4
│ │ │ │ │ │ ├── AbstractDescriptorBox.java
│ │ │ │ │ │ ├── ESDescriptorBox.java
│ │ │ │ │ │ ├── ObjectDescriptorBox.java
│ │ │ │ │ │ ├── objectdescriptors
│ │ │ │ │ │ │ ├── AudioSpecificConfig.java
│ │ │ │ │ │ │ ├── BaseDescriptor.java
│ │ │ │ │ │ │ ├── BitReaderBuffer.java
│ │ │ │ │ │ │ ├── BitWriterBuffer.java
│ │ │ │ │ │ │ ├── DecoderConfigDescriptor.java
│ │ │ │ │ │ │ ├── DecoderSpecificInfo.java
│ │ │ │ │ │ │ ├── Descriptor.java
│ │ │ │ │ │ │ ├── ESDescriptor.java
│ │ │ │ │ │ │ ├── ExtensionDescriptor.java
│ │ │ │ │ │ │ ├── ExtensionProfileLevelDescriptor.java
│ │ │ │ │ │ │ ├── InitialObjectDescriptor.java
│ │ │ │ │ │ │ ├── ObjectDescriptorBase.java
│ │ │ │ │ │ │ ├── ObjectDescriptorFactory.java
│ │ │ │ │ │ │ ├── ProfileLevelIndicationDescriptor.java
│ │ │ │ │ │ │ ├── SLConfigDescriptor.java
│ │ │ │ │ │ │ └── UnknownDescriptor.java
│ │ │ │ │ │ └── samplegrouping
│ │ │ │ │ │ ├── CencSampleEncryptionInformationGroupEntry.java
│ │ │ │ │ │ ├── GroupEntry.java
│ │ │ │ │ │ ├── RateShareEntry.java
│ │ │ │ │ │ ├── RollRecoveryEntry.java
│ │ │ │ │ │ ├── SampleGroupDescriptionBox.java
│ │ │ │ │ │ ├── SampleToGroupBox.java
│ │ │ │ │ │ ├── TemporalLevelEntry.java
│ │ │ │ │ │ ├── UnknownEntry.java
│ │ │ │ │ │ └── VisualRandomAccessEntry.java
│ │ │ │ │ ├── mp4-boxes.zip
│ │ │ │ │ ├── piff
│ │ │ │ │ │ ├── PiffSampleEncryptionBox.java
│ │ │ │ │ │ ├── PiffTrackEncryptionBox.java
│ │ │ │ │ │ ├── PlayReadyHeader.java
│ │ │ │ │ │ ├── ProtectionSpecificHeader.java
│ │ │ │ │ │ ├── TfrfBox.java
│ │ │ │ │ │ ├── TfxdBox.java
│ │ │ │ │ │ └── UuidBasedProtectionSystemSpecificHeaderBox.java
│ │ │ │ │ ├── threegpp26244
│ │ │ │ │ │ └── SegmentIndexBox.java
│ │ │ │ │ ├── threegpp26245
│ │ │ │ │ │ └── FontTableBox.java
│ │ │ │ │ └── ultraviolet
│ │ │ │ │ ├── AssetInformationBox.java
│ │ │ │ │ └── BaseLocationBox.java
│ │ │ │ ├── FullContainerBox.java
│ │ │ │ ├── h264
│ │ │ │ │ ├── BTree.java
│ │ │ │ │ ├── CharCache.java
│ │ │ │ │ ├── Debug.java
│ │ │ │ │ ├── model
│ │ │ │ │ │ ├── AspectRatio.java
│ │ │ │ │ │ ├── BitstreamElement.java
│ │ │ │ │ │ ├── ChromaFormat.java
│ │ │ │ │ │ ├── HRDParameters.java
│ │ │ │ │ │ ├── PictureParameterSet.java
│ │ │ │ │ │ ├── ScalingList.java
│ │ │ │ │ │ ├── ScalingMatrix.java
│ │ │ │ │ │ ├── SeqParameterSet.java
│ │ │ │ │ │ └── VUIParameters.java
│ │ │ │ │ ├── read
│ │ │ │ │ │ ├── BitstreamReader.java
│ │ │ │ │ │ └── CAVLCReader.java
│ │ │ │ │ └── write
│ │ │ │ │ ├── BitstreamWriter.java
│ │ │ │ │ └── CAVLCWriter.java
│ │ │ │ ├── srt
│ │ │ │ │ └── SrtParser.java
│ │ │ │ ├── util
│ │ │ │ │ ├── ByteBufferByteChannel.java
│ │ │ │ │ ├── CastUtils.java
│ │ │ │ │ ├── Math.java
│ │ │ │ │ ├── Matrix.java
│ │ │ │ │ ├── Path.java
│ │ │ │ │ └── UUIDConverter.java
│ │ │ │ └── Version.java
│ │ │ └── seu
│ │ │ └── magicfilter
│ │ │ ├── advanced
│ │ │ │ ├── MagicAmaroFilter.java
│ │ │ │ ├── MagicAntiqueFilter.java
│ │ │ │ ├── MagicBeautyFilter.java
│ │ │ │ ├── MagicBlackCatFilter.java
│ │ │ │ ├── MagicBrannanFilter.java
│ │ │ │ ├── MagicBrooklynFilter.java
│ │ │ │ ├── MagicCalmFilter.java
│ │ │ │ ├── MagicCoolFilter.java
│ │ │ │ ├── MagicCrayonFilter.java
│ │ │ │ ├── MagicEarlyBirdFilter.java
│ │ │ │ ├── MagicEmeraldFilter.java
│ │ │ │ ├── MagicEvergreenFilter.java
│ │ │ │ ├── MagicFreudFilter.java
│ │ │ │ ├── MagicHealthyFilter.java
│ │ │ │ ├── MagicHefeFilter.java
│ │ │ │ ├── MagicHudsonFilter.java
│ │ │ │ ├── MagicImageAdjustFilter.java
│ │ │ │ ├── MagicInkwellFilter.java
│ │ │ │ ├── MagicKevinFilter.java
│ │ │ │ ├── MagicLatteFilter.java
│ │ │ │ ├── MagicLomoFilter.java
│ │ │ │ ├── MagicN1977Filter.java
│ │ │ │ ├── MagicNashvilleFilter.java
│ │ │ │ ├── MagicNostalgiaFilter.java
│ │ │ │ ├── MagicPixarFilter.java
│ │ │ │ ├── MagicRiseFilter.java
│ │ │ │ ├── MagicRomanceFilter.java
│ │ │ │ ├── MagicSakuraFilter.java
│ │ │ │ ├── MagicSierraFilter.java
│ │ │ │ ├── MagicSketchFilter.java
│ │ │ │ ├── MagicSkinWhitenFilter.java
│ │ │ │ ├── MagicSunriseFilter.java
│ │ │ │ ├── MagicSunsetFilter.java
│ │ │ │ ├── MagicSutroFilter.java
│ │ │ │ ├── MagicSweetsFilter.java
│ │ │ │ ├── MagicTenderFilter.java
│ │ │ │ ├── MagicToasterFilter.java
│ │ │ │ ├── MagicValenciaFilter.java
│ │ │ │ ├── MagicWaldenFilter.java
│ │ │ │ ├── MagicWarmFilter.java
│ │ │ │ ├── MagicWhiteCatFilter.java
│ │ │ │ └── MagicXproIIFilter.java
│ │ │ ├── base
│ │ │ │ ├── gpuimage
│ │ │ │ │ ├── GPUImageBrightnessFilter.java
│ │ │ │ │ ├── GPUImageContrastFilter.java
│ │ │ │ │ ├── GPUImageExposureFilter.java
│ │ │ │ │ ├── GPUImageFilter.java
│ │ │ │ │ ├── GPUImageHueFilter.java
│ │ │ │ │ ├── GPUImageSaturationFilter.java
│ │ │ │ │ └── GPUImageSharpenFilter.java
│ │ │ │ ├── MagicBaseGroupFilter.java
│ │ │ │ └── MagicLookupFilter.java
│ │ │ └── utils
│ │ │ ├── MagicFilterFactory.java
│ │ │ ├── MagicFilterType.java
│ │ │ └── OpenGLUtils.java
│ │ └── net
│ │ └── ossrs
│ │ └── yasea
│ │ ├── SrsAllocator.java
│ │ ├── SrsCameraView.java
│ │ ├── SrsEncodeHandler.java
│ │ ├── SrsEncoder.java
│ │ ├── SrsFlvMuxer.java
│ │ ├── SrsMp4Muxer.java
│ │ ├── SrsPublisher.java
│ │ └── SrsRecordHandler.java
│ └── res
│ ├── raw
│ │ ├── amaro.glsl
│ │ ├── antique.glsl
│ │ ├── beauty.glsl
│ │ ├── blackcat.glsl
│ │ ├── brannan.glsl
│ │ ├── brightness.glsl
│ │ ├── brooklyn.glsl
│ │ ├── calm.glsl
│ │ ├── constrast.glsl
│ │ ├── cool.glsl
│ │ ├── crayon.glsl
│ │ ├── earlybird.glsl
│ │ ├── emerald.glsl
│ │ ├── evergreen.glsl
│ │ ├── exposure.glsl
│ │ ├── fragment.glsl
│ │ ├── freud.glsl
│ │ ├── healthy.glsl
│ │ ├── hefe.glsl
│ │ ├── hudson.glsl
│ │ ├── hue.glsl
│ │ ├── inkwell.glsl
│ │ ├── kevin_new.glsl
│ │ ├── latte.glsl
│ │ ├── lomo.glsl
│ │ ├── lookup.glsl
│ │ ├── n1977.glsl
│ │ ├── nashville.glsl
│ │ ├── nostalgia.glsl
│ │ ├── pixar.glsl
│ │ ├── rise.glsl
│ │ ├── romance.glsl
│ │ ├── sakura.glsl
│ │ ├── saturation.glsl
│ │ ├── sharpen.glsl
│ │ ├── sierra.glsl
│ │ ├── sketch.glsl
│ │ ├── skinwhiten.glsl
│ │ ├── suger_tablets.glsl
│ │ ├── sunrise.glsl
│ │ ├── sunset.glsl
│ │ ├── sutro.glsl
│ │ ├── sweets.glsl
│ │ ├── tender.glsl
│ │ ├── toaster2_filter_shader.glsl
│ │ ├── valencia.glsl
│ │ ├── vertex.glsl
│ │ ├── vertex_sharpen.glsl
│ │ ├── walden.glsl
│ │ ├── warm.glsl
│ │ ├── whitecat.glsl
│ │ └── xproii_filter_shader.glsl
│ └── values
│ └── strings.xml
├── LICENSE
├── proguard-rules.pro
├── README.md
└── settings.gradle
109 directories, 822 files
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论