├── h264ExampleFFmpegStreamerAllMultiThreaded ├── gen │ └── .gitignore ├── bin │ ├── classes │ │ └── .gitignore │ ├── jarlist.cache │ ├── AndroidManifest.xml │ └── R.txt ├── lint.xml ├── ic_launcher-web.png ├── res │ ├── drawable-hdpi │ │ └── ic_launcher.png │ ├── drawable-mdpi │ │ └── ic_launcher.png │ ├── drawable-xhdpi │ │ └── ic_launcher.png │ ├── drawable-xxhdpi │ │ └── ic_launcher.png │ ├── values │ │ ├── strings.xml │ │ └── styles.xml │ ├── values-v11 │ │ └── styles.xml │ ├── values-v14 │ │ └── styles.xml │ └── layout │ │ └── activity_main.xml ├── .classpath ├── project.properties ├── proguard-project.txt ├── .project ├── AndroidManifest.xml └── src │ └── com │ └── example │ └── h264FFmpegStreamer │ ├── BufferQueue.java │ ├── NV21Convertor.java │ ├── X264Encoder.java │ └── MainStreamerActivity.java └── README.md /h264ExampleFFmpegStreamerAllMultiThreaded/gen/.gitignore: -------------------------------------------------------------------------------- 1 | /android/ 2 | /com/ 3 | -------------------------------------------------------------------------------- /h264ExampleFFmpegStreamerAllMultiThreaded/bin/classes/.gitignore: -------------------------------------------------------------------------------- 1 | /android/ 2 | /com/ 3 | -------------------------------------------------------------------------------- /h264ExampleFFmpegStreamerAllMultiThreaded/lint.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /h264ExampleFFmpegStreamerAllMultiThreaded/bin/jarlist.cache: -------------------------------------------------------------------------------- 1 | # cache for current jar dependency. DO NOT EDIT. 2 | # format is 3 | # Encoding is UTF-8 4 | -------------------------------------------------------------------------------- /h264ExampleFFmpegStreamerAllMultiThreaded/ic_launcher-web.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AdiKulkarni/h264ExmapleFFmpegStreamerAllMultiThreaded/HEAD/h264ExampleFFmpegStreamerAllMultiThreaded/ic_launcher-web.png -------------------------------------------------------------------------------- /h264ExampleFFmpegStreamerAllMultiThreaded/res/drawable-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AdiKulkarni/h264ExmapleFFmpegStreamerAllMultiThreaded/HEAD/h264ExampleFFmpegStreamerAllMultiThreaded/res/drawable-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /h264ExampleFFmpegStreamerAllMultiThreaded/res/drawable-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AdiKulkarni/h264ExmapleFFmpegStreamerAllMultiThreaded/HEAD/h264ExampleFFmpegStreamerAllMultiThreaded/res/drawable-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /h264ExampleFFmpegStreamerAllMultiThreaded/res/drawable-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AdiKulkarni/h264ExmapleFFmpegStreamerAllMultiThreaded/HEAD/h264ExampleFFmpegStreamerAllMultiThreaded/res/drawable-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /h264ExampleFFmpegStreamerAllMultiThreaded/res/drawable-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AdiKulkarni/h264ExmapleFFmpegStreamerAllMultiThreaded/HEAD/h264ExampleFFmpegStreamerAllMultiThreaded/res/drawable-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /h264ExampleFFmpegStreamerAllMultiThreaded/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | h264ExampleStreamerAll 5 | Hello world! 6 | 7 | 8 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # h264ExmapleFFmpegStreamerAllMultiThreaded 2 | 3 | FFmpeg based android video streamer with multi threaded h264 encoding support. Threading can inter-frame or intra-frame (inter-slice) basis. Videos can be streamed over TCP and UDP. As ffmpeg is a software based encoder over android, it is necessary to have multithreaded support for speed up. 4 | -------------------------------------------------------------------------------- /h264ExampleFFmpegStreamerAllMultiThreaded/res/values-v11/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /h264ExampleFFmpegStreamerAllMultiThreaded/res/values-v14/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /h264ExampleFFmpegStreamerAllMultiThreaded/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /h264ExampleFFmpegStreamerAllMultiThreaded/project.properties: -------------------------------------------------------------------------------- 1 | # This file is automatically generated by Android Tools. 2 | # Do not modify this file -- YOUR CHANGES WILL BE ERASED! 3 | # 4 | # This file must be checked in Version Control Systems. 5 | # 6 | # To customize properties used by the Ant build system edit 7 | # "ant.properties", and override values to adapt the script to your 8 | # project structure. 9 | # 10 | # To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): 11 | #proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt 12 | 13 | # Project target. 14 | target=android-20 15 | android.library.reference.1=../appcompat_v7 16 | android.library.reference.2=../../git/myFFmpegX264LatestLibAndroid/myFFmpegX264LatestLib 17 | -------------------------------------------------------------------------------- /h264ExampleFFmpegStreamerAllMultiThreaded/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 14 | 15 | 16 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /h264ExampleFFmpegStreamerAllMultiThreaded/proguard-project.txt: -------------------------------------------------------------------------------- 1 | # To enable ProGuard in your project, edit project.properties 2 | # to define the proguard.config property as described in that file. 3 | # 4 | # Add project specific ProGuard rules here. 5 | # By default, the flags in this file are appended to flags specified 6 | # in ${sdk.dir}/tools/proguard/proguard-android.txt 7 | # You can edit the include path and order by changing the ProGuard 8 | # include property in project.properties. 9 | # 10 | # For more details, see 11 | # http://developer.android.com/guide/developing/tools/proguard.html 12 | 13 | # Add any project specific keep options here: 14 | 15 | # If your project uses WebView with JS, uncomment the following 16 | # and specify the fully qualified class name to the JavaScript interface 17 | # class: 18 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 19 | # public *; 20 | #} 21 | -------------------------------------------------------------------------------- /h264ExampleFFmpegStreamerAllMultiThreaded/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | h264ExampleFFmpegStreamerAllMultiThreaded 4 | 5 | 6 | 7 | 8 | 9 | com.android.ide.eclipse.adt.ResourceManagerBuilder 10 | 11 | 12 | 13 | 14 | com.android.ide.eclipse.adt.PreCompilerBuilder 15 | 16 | 17 | 18 | 19 | org.eclipse.jdt.core.javabuilder 20 | 21 | 22 | 23 | 24 | com.android.ide.eclipse.adt.ApkBuilder 25 | 26 | 27 | 28 | 29 | 30 | com.android.ide.eclipse.adt.AndroidNature 31 | org.eclipse.jdt.core.javanature 32 | 33 | 34 | -------------------------------------------------------------------------------- /h264ExampleFFmpegStreamerAllMultiThreaded/res/layout/activity_main.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 13 | 14 |