FFmpeg Kit for applications. Supports Android, Flutter, iOS, macOS, React Native and tvOS. Supersedes MobileFFmpeg, flutter_ffmpeg and react-native-ffmpeg.

Overview

FFmpegKit GitHub release Maven Central CocoaPods pub npm

FFmpegKit is a collection of tools to use FFmpeg in Android, iOS, macOS, tvOS, Flutter and React Native applications.

It includes scripts to build FFmpeg native libraries, a wrapper library to run FFmpeg/FFprobe commands in applications and 8 prebuilt binary packages available at Github, Maven Central, CocoaPods, pub and npm.

1. Features

  • Scripts to build FFmpeg native libraries
  • FFmpegKit wrapper library to run FFmpeg/FFprobe commands in applications
  • Supports native platforms: Android, iOS, macOS and tvOS
  • Supports hybrid platforms: Flutter, React Native
  • Based on FFmpeg v4.5-dev with optional system and external libraries
  • 8 prebuilt binary packages available at Github, Maven Central, CocoaPods, pub and npm
  • Licensed under LGPL 3.0, or GPL v3.0 if GPL licensed libraries are enabled

2. Android

See Android to learn more about FFmpegKit for Android.

3. iOS, macOS, tvOS

See Apple to use FFmpegKit on Apple platforms (iOS, macOS, tvOS).

4. Flutter

See Flutter to learn more about FFmpegKit for Flutter.

5. React Native

See React Native to learn more about FFmpegKit for React Native.

6. Build Scripts

Use android.sh, ios.sh, macos.sh and tvos.sh to build FFmpegKit for each native platform.

All scripts support additional options to enable optional libraries and disable platform architectures. See Building wiki page for the details.

7. FFmpegKit Library

FFmpegKit is a wrapper library that allows you to easily run FFmpeg/FFprobe commands in applications. It provides additional features on top of FFmpeg to enable platform specific resources, control how commands are executed and how the results are handled.

Android library of FFmpegKit has a Java API, Apple libraries (iOS, macOS, tvOS) have an Objective-C API, Flutterlibrary comes with a Dart API and React Native library provides a JavaScript API, which are identical in terms of features and capabilities.

8. Packages

There are eight different ffmpeg-kit packages distributed on Github, Maven Central, CocoaPods, pub and npm. Below you can see which system libraries and external libraries are enabled in each one of them.

Please remember that some parts of FFmpeg are licensed under the GPL and only GPL licensed ffmpeg-kit packages include them.

min min-gpl https https-gpl audio video full full-gpl
external libraries - vid.stab
x264
x265
xvidcore
gmp
gnutls
gmp
gnutls
vid.stab
x264
x265
xvidcore
lame
libilbc
libvorbis
opencore-amr
opus
shine
soxr
speex
twolame
vo-amrwbenc
dav1d
fontconfig
freetype
fribidi
kvazaar
libass
libiconv
libtheora
libvpx
libwebp
snappy
dav1d
fontconfig
freetype
fribidi
gmp
gnutls
kvazaar
lame
libass
libiconv
libilbc
libtheora
libvorbis
libvpx
libwebp
libxml2
opencore-amr
opus
shine
snappy
soxr
speex
twolame
vo-amrwbenc
dav1d
fontconfig
freetype
fribidi
gmp
gnutls
kvazaar
lame
libass
libiconv
libilbc
libtheora
libvorbis
libvpx
libwebp
libxml2
opencore-amr
opus
shine
snappy
soxr
speex
twolame
vid.stab
vo-amrwbenc
x264
x265
xvidcore
android system libraries zlib
MediaCodec
ios system libraries bzip2
AudioToolbox
AVFoundation
iconv
VideoToolbox
zlib
macos system libraries bzip2
AudioToolbox
AVFoundation
Core Image
iconv
OpenCL
OpenGL
VideoToolbox
zlib
tvos system libraries bzip2
AudioToolbox
iconv
VideoToolbox
zlib
  • AVFoundation is not available on tvOS
  • VideoToolbox is not available on LTS releases of iOS and tvOS

9. Versions

FFmpegKit binaries generated use the same major and minor version numbers as the upstream FFmpeg project.

The exact version number of FFmpeg is obtained using git describe --tags. dev part in the version string indicates that FFmpeg source code is cloned from the FFmpeg master branch.

Platforms FFmpegKit Version FFmpeg Version Release Date
Flutter 4.5.0 4.5-dev-2008 Oct 05, 2021
Flutter 4.5.0-LTS 4.5-dev-2008 Oct 05, 2021
React Native 4.5.0 4.5-dev-2008 Oct 01, 2021
Android
Apple
4.5 4.5-dev-2008 Sep 18, 2021
Android
Apple
4.5.LTS 4.5-dev-2008 Sep 18, 2021
Android
Apple
4.4 4.4-dev-3015 Mar 03, 2021
Android
Apple
4.4.LTS 4.4-dev-3015 Mar 03, 2021

10. LTS Releases

FFmpegKit binaries are published in two release variants: Main Release and LTS Release.

  • Main releases include complete functionality of the library and support the latest SDK/API features.

  • LTS releases are customized to support a wider range of devices. They are built using older API/SDK versions, so some features are not available on them.

This table shows the differences between two variants.

Main Release LTS Release
Android API Level 24 16
Android Camera Access Yes -
Android Architectures arm-v7a-neon
arm64-v8a
x86
x86-64
arm-v7a
arm-v7a-neon
arm64-v8a
x86
x86-64
iOS Min SDK 12.1 9.3
iOS VideoToolbox Yes -
iOS AVFoundation Yes -
iOS Architectures arm64
arm64-simulator
arm64-mac-catalyst
x86-64
x86-64-mac-catalyst
armv7
arm64
i386
x86-64
iOS Bundle Format XCFrameworks Frameworks
macOS Min SDK 10.15 10.11
macOS AVFoundation Yes -
macOS Architectures arm64
x86-64
x86-64
macOS Bundle Format XCFrameworks Frameworks
tvOS Min SDK 11.0 9.2
tvOS VideoToolbox Yes -
tvOS Architectures arm64
x86-64
arm64-simulator
arm64
x86-64
tvOS Bundle Format XCFrameworks Frameworks

11. Documentation

A more detailed documentation is available under Wiki.

12. Test Applications

You can see how FFmpegKit is used inside an application by running test applications created under FFmpegKit Test project.

All applications are identical and supports command execution, video encoding, accessing https urls, encoding audio, burning subtitles, video stabilisation, pipe operations and concurrent command execution.

13. License

FFmpegKit is licensed under the LGPL v3.0. However, if source code is built using the optional --enable-gpl flag or prebuilt binaries with -gpl postfix are used, then FFmpegKit is subject to the GPL v3.0 license.

14. Patents

It is not clearly explained in their documentation, but it is believed that FFmpeg, kvazaar, x264 and x265 include algorithms which are subject to software patents. If you live in a country where software algorithms are patentable then you'll probably need to pay royalty fees to patent holders. We are not lawyers though, so we recommend that you seek legal advice first. See FFmpeg Patent Mini-FAQ.

openh264 clearly states that it uses patented algorithms. Therefore, if you build ffmpeg-kit with openh264 and distribute that library, then you are subject to pay MPEG LA licensing fees. Refer to OpenH264 FAQ page for the details.

15. Contributing

Feel free to submit issues or pull requests.

Please note that main includes only the latest released source code. Changes planned for the next release are developed under the development branches (development for native platforms, development-react-native for react-native, development-flutter for flutter). Therefore, if you want to create a pull request, please open it against them.

16. See Also

Issues
  • Flutter : FirebaseMessaging

    Flutter : FirebaseMessaging "onBackgroundMessage" with FFmpegKit

    Description In an app (Flutter) where we have configured FirebaseMessaging (https://pub.dev/packages/firebase_messaging/) with the onBackgroundMessage handler the FFmpegKit plugin is not usable as there seems to be some conflict due to which the EventChannel which is created by this plugin is rendered null

    Expected behavior Methods like FFmpegKit.executeAsync or FFprobeKit.getMediaInformationAsync or others execute with a result.

    Current behavior The methods FFmpegKit.executeAsync or FFprobeKit.getMediaInformationAsync or others fail with the following sample error

    W/ffmpeg-kit-flutter(32468): ResultHandler can not send event {FFmpegKitExecuteCallbackEvent={createTime=1635353254392, startTime=1635353254414, sessionId=1, type=1, command= -i /data/user/0/com.arre.voice/app_flutter/effects/drumroll.wav -i /data/user/0/com.arre.voice/app_flutter/effects/cheer.wav -i /data/user/0/com.arre.voice/app_flutter/effects/boo.wav -filter_complex amix=inputs=3:duration=longest -y /storage/emulated/0/Android/data/com.arre.voice/files/[#6d178].m4a}} on a null event sink.

    To Reproduce Just add FirebaseMessaging to the app and implement onBackgroundMessage handler.

    Screenshots image

    Logs successAsync gets called for any method but eventSink is render null thus the error message printed by the plugin Log.w(LIBRARY_NAME, String.format("ResultHandler can not send event %s on a null event sink.", object));

    Environment

    • Platform: Flutter Android
    • Architecture: arm64, and others too
    • Version v4.5.0
    • Source branch v4.5.0

    Other FirebaseMessaging has 3 handlers as below ( firebase_messaging: ^10.0.7)

    • FirebaseMessaging.onMessage
    • FirebaseMessaging.onMessageOpenedApp
    • FirebaseMessaging.onBackgroundMessage

    When you just do not set the "FirebaseMessaging.onBackgroundMessage" handler the plugin works fine.

    enhancement flutter v4.5 fixed-in-v4.5.1 
    opened by ujwalparker 32
  • ios hw encoder failed to work on ios X device(os version 15.x)

    ios hw encoder failed to work on ios X device(os version 15.x)

    Description ios hw encoder failed to work on ios X device(os version 15.x)

    Expected behavior encode successfully

    Current behavior What happened.

    To Reproduce Steps to reproduce the behaviour.

    Screenshots If applicable, add screenshots to help explain your problem.

    Logs Post logs here or paste them to Ghostbin and insert the link here.

    Environment

    • Platform: iOS(os version 15.x)
    • Architecture: arm64,arm64e
    • Version latest-full
    • Xcode version [13.0]

    Other transcode cmd: -y -hide_banner -i http://a.com:9181/test/tmp/media/seg_0.mp4 -i http://a.com:9181/test/tmp/media/seg_4.mp4 -i http://a.com:9181/test/tmp/media/seg_8.mp4 -filter_complex "[0:v]scale=720:1280,setsar=1,settb=AVTB[v0];[0:a]anull[a0];[1:v]scale=720:1280,setsar=1,settb=AVTB[v1];[1:a]anull[a1];[2:v]scale=720:1280,setsar=1,settb=AVTB[v2];[2:a]anull[a2];[v0][v1]xfade=transition=wipetr:duration=1.0:offset=21.57[tmp0];[tmp0][v2]xfade=transition=squeezeh:duration=1.0:offset=29.01[outv];[a0][a1]acrossfade=d=1.0:c1=tri:c2=tri[atmp0];[atmp0][a2]acrossfade=d=1.0:c1=tri:c2=tri[outa]" -map [outv] -map [outa] -c:v h264_videotoolbox -pix_fmt yuv420p -preset fast -r 25 -c:a aac -b:a 96k "out.mp4"

    error msg DTS is invalid. Video encoding failed

    ffmpeg src libavcodec/videotoolboxenc.c Line 2015

    if (CMTIME_IS_INVALID(dts)) {
            if (!vtctx->has_b_frames) {
                dts = pts;
            } else {
                av_log(avctx, AV_LOG_ERROR, "DTS is invalid.\n");
                return AVERROR_EXTERNAL;
            }
        }
    
    
    ffmpeg-bug ios library v4.5 fixed-in-v4.5.1 
    opened by wnpllrzodiac 23
  • No such file or directory

    No such file or directory

    I am getting the No such file or directory error while executing the FFmpeg command for the input file, READ_EXTERNAL_STORAGE permission is already granted, Its also giving the same error for android 8 and android 9

    It should be working for input as below android 9 there is no need to READ_EXTERNAL_STORAGE permission.

    Dependecy : implementation 'com.arthenica:ffmpeg-kit-full:4.4.LTS'

    FFmpeg Command : [-y, -i, /storage/emulated/0/snaptube/download/SnapTube Audio/SHUBH DIN Sangeet dance video(MP3_160K).mp3, -ss, 00:00:27.763, -to, 00:01:27.347, -acodec, libmp3lame, -metadata, title=krish, -metadata, artist=, -metadata, album=SHUBH DIN Sangeet dance video, -ar, 48000, -b:a, 320k, /storage/emulated/0/Music/Demo/Trim/krish.mp3]

    Error : /storage/emulated/0/snaptube/download/SnapTube Audio/SHUBH DIN Sangeet dance video(MP3_160K).mp3: No such file or directory

    also getting the same error like/storage/emulated/0/VidMate/download/দুনিয়াতে_শেষ_দেখা,,,,,,,,,😭😭😭😭: No such file or directory

    so is there anything wrong with file path ?

    OS Version : Android 10

    Any help would be appreciated.

    question no-issue-activity android v4.4 library 
    opened by sanketkoladiya 19
  • App crashes on start only for Android

    App crashes on start only for Android

    Description App crashes on start only for Android

    Logs E/AndroidRuntime(14869): FATAL EXCEPTION: main E/AndroidRuntime(14869): Process: com.xyz.sssss, PID: 14869 E/AndroidRuntime(14869): java.lang.Error: FFmpegKit failed to start on brand: google, model: sdk_gphone_x86, device: generic_x86_arm, api level: 29, abis: x86 armeabi-v7a armeabi, 32bit abis: x86 armeabi-v7a armeabi, 64bit abis: . E/AndroidRuntime(14869): at com.arthenica.ffmpegkit.NativeLoader.loadLibrary(NativeLoader.java:50) E/AndroidRuntime(14869): at com.arthenica.ffmpegkit.NativeLoader.loadFFmpegKit(NativeLoader.java:189) E/AndroidRuntime(14869): at com.arthenica.ffmpegkit.FFmpegKitConfig.(FFmpegKitConfig.java:145) E/AndroidRuntime(14869): at com.arthenica.ffmpegkit.FFmpegKitConfig.enableFFmpegSessionCompleteCallback(FFmpegKitConfig.java:864) E/AndroidRuntime(14869): at com.arthenica.ffmpegkit.flutter.FFmpegKitFlutterPlugin.registerGlobalCallbacks(FFmpegKitFlutterPlugin.java:168) E/AndroidRuntime(14869): at com.arthenica.ffmpegkit.flutter.FFmpegKitFlutterPlugin.init(FFmpegKitFlutterPlugin.java:652) E/AndroidRuntime(14869): at com.arthenica.ffmpegkit.flutter.FFmpegKitFlutterPlugin.onAttachedToActivity(FFmpegKitFlutterPlugin.java:198) E/AndroidRuntime(14869): at io.flutter.embedding.engine.FlutterEngineConnectionRegistry.add(FlutterEngineConnectionRegistry.java:153) E/AndroidRuntime(14869): at io.flutter.plugins.GeneratedPluginRegistrant.registerWith(GeneratedPluginRegistrant.java:36) E/AndroidRuntime(14869): at com.dddd.ddddd.MainActivity.configureFlutterEngine(MainActivity.kt:10) E/AndroidRuntime(14869): at io.flutter.embedding.android.FlutterActivityAndFragmentDelegate.onAttach(FlutterActivityAndFragmentDelegate.java:187) E/AndroidRuntime(14869): at io.flutter.embedding.android.FlutterActivity.onCreate(FlutterActivity.java:430) E/AndroidRuntime(14869): at android.app.Activity.performCreate(Activity.java:7989) E/AndroidRuntime(14869): at android.app.Activity.performCreate(Activity.java:7978) E/AndroidRuntime(14869): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1309) E/AndroidRuntime(14869): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3315) E/AndroidRuntime(14869): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3484) E/AndroidRuntime(14869): at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83) E/AndroidRuntime(14869): at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135) E/AndroidRuntime(14869): at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95) E/AndroidRuntime(14869): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2044) E/AndroidRuntime(14869): at android.os.Handler.dispatchMessage(Handler.java:106) E/AndroidRuntime(14869): at android.os.Looper.loop(Looper.java:223) E/AndroidRuntime(14869): at android.app.ActivityThread.main(ActivityThread.java:7476) E/AndroidRuntime(14869): at java.lang.reflect.Method.invoke(Native Method) E/AndroidRuntime(14869): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:549) E/AndroidRuntime(14869): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:939) E/AndroidRuntime(14869): Caused by: java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "av_log_default_callback" referenced by "/data/app/~~wsAHO3BWyrWmntUZrPVlRQ==/com.dddd.ddd-FZzxp2Q-nCTdSPVZlyj9VQ==/base.apk!/lib/x86/libffmpegkit.so"... E/AndroidRuntime(14869): at java.lang.Runtime.loadLibrary0(Runtime.java:1087) E/AndroidRuntime(14869): at java.lang.Runtime.loadLibrary0(Runtime.java:1008) E/AndroidRuntime(14869): at java.lang.System.loadLibrary(System.java:1661) E/AndroidRuntime(14869): at com.arthenica.ffmpegkit.NativeLoader.loadLibrary(NativeLoader.java:48) E/AndroidRuntime(14869): ... 26 more

    question no-issue-activity android library v4.5.1 
    opened by patelnirav48 17
  • Question: How to cancel a session completely

    Question: How to cancel a session completely

    I'm trying to cancel a running rtmp session on android started with FFprobeKit.executeAsync(), but for some reason it doesn't completely close the connection even tho the session says it's completed. I get a callback and it seems like it ended, but it doesn't. Also canceled sessions seem to stick around after they get canceled. Is there a way to remove them?

    This is what i do to cancel all running sessions...

    List<Session> sessions = FFmpegKitConfig.getSessions();
    for (int i = 0; i < sessions.size(); i++) {
      Session session = sessions.get(i);
      FFmpegKit.cancel(session.getSessionId());
    }
    

    Also tried FFmpegKit.cancel() but i get the same result

    From the first session (that doesn't stop) i get this when i cancel it which looks like its done..

    Exiting normally, received signal 2.
    , state=COMPLETED, returnCode=255, failStackTrace='null'}
    

    But my rtmp server still thinks there is a connection and when i try to start a new one i get this instantly..

    [rtmp @ 0x7e2d0fcf80] Server error: Stream already publishing
    rtmp://10.0.0.200/live/android: Operation not permitted
    , state=COMPLETED, returnCode=1, failStackTrace='null'}
    

    When i start multiple sessions i get all tries listed as sessions from getSessions() with completed state and they never seem to go away.

    I'm very new to android and java so maybe i'm just missing something simple, or this is just normal, but it doesn't seem right. Is there maybe another way to just force kill all ffmpeg processes?

    bug android v4.4 library fixed-in-v4.5 
    opened by nooitaf 17
  • ffprobekit getMediaInformation session.getMediaInformation() == null, but logCallback can get info.

    ffprobekit getMediaInformation session.getMediaInformation() == null, but logCallback can get info.

    Description Can't get medial info use session.getMediaInformation() alway return null, but print the logCallback can get info.

    Expected behavior

    Current behavior

    To Reproduce

    Screenshots --.

    Logs

    W/ffmpeg-kit(23314): Get media information execute failed: -i /storage/emulated/0/Download/MOV_0021.mp4.
    W/ffmpeg-kit(23314): org.json.JSONException: Value ffprobe of type java.lang.String cannot be converted to JSONObject
    W/ffmpeg-kit(23314): 	at org.json.JSON.typeMismatch(JSON.java:111)
    W/ffmpeg-kit(23314): 	at org.json.JSONObject.<init>(JSONObject.java:163)
    W/ffmpeg-kit(23314): 	at org.json.JSONObject.<init>(JSONObject.java:176)
    W/ffmpeg-kit(23314): 	at com.arthenica.ffmpegkit.MediaInformationJsonParser.fromWithError(MediaInformationJsonParser.java:62)
    W/ffmpeg-kit(23314): 	at org.json.JSON.typeMismatch(JSON.java:111)
    W/ffmpeg-kit(23314): 	at org.json.JSONObject.<init>(JSONObject.java:163)
    W/ffmpeg-kit(23314): 	at org.json.JSONObject.<init>(JSONObject.java:176)
    W/ffmpeg-kit(23314): 	at com.arthenica.ffmpegkit.FFmpegKitConfig.getMediaInformationExecute(FFmpegKitConfig.java:649)
    W/ffmpeg-kit(23314): 	at org.json.JSON.typeMismatch(JSON.java:111)
    W/ffmpeg-kit(23314): 	at org.json.JSONObject.<init>(JSONObject.java:163)
    W/ffmpeg-kit(23314): 	at org.json.JSONObject.<init>(JSONObject.java:176)
    W/ffmpeg-kit(23314): 	at com.arthenica.ffmpegkit.AsyncGetMediaInformationTask.run(AsyncGetMediaInformationTask.java:42)
    

    but the logCallback can return info

    I/flutter (23314): ffprobe version v4.5-dev-2008-g90da43557f
    I/flutter (23314):  Copyright (c) 2007-2021 the FFmpeg developers
    I/flutter (23314): 
    I/flutter (23314):   built with Android (7284624, based on r416183b) clang version 12.0.5 (https://android.googlesource.com/toolchain/llvm-project c935d99d7cf2016289302412d708641d52d2f7ee)
    I/flutter (23314):   configuration: --cross-prefix=aarch64-linux-android- --sysroot=/files/android-sdk/ndk/23.0.7599858/toolchains/llvm/prebuilt/linux-x86_64/sysroot --prefix=/storage/light/projects/ffmpeg-kit/prebuilt/android-arm64/ffmpeg --pkg-config=/usr/bin/pkg-config --enable-version3 --arch=aarch64 --cpu=armv8-a --cc=aarch64-linux-android24-clang --cxx=aarch64-linux-android24-clang++ --ranlib=llvm-ranlib --strip=llvm-strip --nm=llvm-nm --extra-libs='-L/storage/light/projects/ffmpeg-kit/prebuilt/android-arm64/cpu-features/lib -lndk_compat' --target-os=android --enable-neon --enable-asm --enable-inline-asm --enable-cross-compile --enable-pic --enable-jni --enable-optimizations --enable-swscale --disable-static --enable-shared --enable-v4l2-m2m --disable-outdev=fbdev --disable-indev=fbdev --enable-small --disable-openssl --disable-xmm-clobber-test --disable-debug --enable-lto --disable-neon-clobber-test --disable-programs --disable-postproc --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-tx
    I/flutter (23314):   libavutil      57.  5.100 / 57.  5.100
    I/flutter (23314):   libavcodec     59.  7.103 / 59.  7.103
    I/flutter (23314):   libavformat    59.  5.100 / 59.  5.100
    I/flutter (23314):   libavdevice    59.  0.101 / 59.  0.101
    I/flutter (23314):   libavfilter     8.  9.100 /  8.  9.100
    I/flutter (23314):   libswscale      6.  1.100 /  6.  1.100
    I/flutter (23314):   libswresample   4.  0.100 /  4.  0.100
    I/flutter (23314): Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/storage/emulated/0/Download/MOV_0021.mp4':
    I/flutter (23314):   Metadata:
    I/flutter (23314):     major_brand     : 
    I/flutter (23314): mp42
    I/flutter (23314): 
    I/flutter (23314):     minor_version   : 
    I/flutter (23314): 0
    I/flutter (23314): 
    I/flutter (23314):     compatible_brands: 
    I/flutter (23314): isommp42
    I/flutter (23314): 
    I/flutter (23314):     creation_time   : 
    I/flutter (23314): 2021-09-18T06:29:10.000000Z
    I/flutter (23314): 
    I/flutter (23314):     com.android.version: 
    I/flutter (23314): 10
    I/flutter (23314): 
    I/flutter (23314):   Duration: 
    I/flutter (23314): 00:00:58.45
    I/flutter (23314): , start: 
    I/flutter (23314): 0.000000
    I/flutter (23314): , bitrate: 
    I/flutter (23314): 17792 kb/s
    I/flutter (23314): 
    I/flutter (23314):   Stream #0:0
    I/flutter (23314): [0x1]
    I/flutter (23314): (eng)
    I/flutter (23314): : Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 155 kb/s
    I/flutter (23314):  (default)
    I/flutter (23314): 
    I/flutter (23314):     Metadata:
    I/flutter (23314):       creation_time   : 
    I/flutter (23314): 2021-09-18T06:29:10.000000Z
    I/flutter (23314): 
    I/flutter (23314):       handler_name    : 
    I/flutter (23314): SoundHandle
    I/flutter (23314): 
    I/flutter (23314):       vendor_id       : 
    I/flutter (23314): [0][0][0][0]
    I/flutter (23314): 
    I/flutter (23314):   Stream #0:1
    I/flutter (23314): [0x2]
    I/flutter (23314): (eng)
    I/flutter (23314): : Video: h264 (avc1 / 0x31637661), yuv420p(tv, bt709/bt709/smpte170m), 1920x1080, 17526 kb/s
    I/flutter (23314): , SAR 1:1 DAR 16:9
    I/flutter (23314): , 
    I/flutter (23314): 29.99 fps, 
    I/flutter (23314): 29.99 tbr, 
    I/flutter (23314): 90k tbn
    I/flutter (23314):  (default)
    I/flutter (23314): 
    I/flutter (23314):     Metadata:
    I/flutter (23314):       creation_time   : 
    I/flutter (23314): 2021-09-18T06:29:10.000000Z
    I/flutter (23314): 
    I/flutter (23314):       handler_name    : 
    I/flutter (23314): VideoHandle
    I/flutter (23314): 
    I/flutter (23314):       vendor_id       : 
    I/flutter (23314): [0][0][0][0]
    I/flutter (23314): 
    I/flutter (23314):     Side data:
    I/flutter (23314):       
    I/flutter (23314): displaymatrix: rotation of -90.00 degrees
    I/flutter (23314): 
    I/flutter (23314): Instance of 'MediaInformationSession'
    W/libEGL  (23314): EGLNativeWindowType 0x70709ca010 disconnect failed
    

    Environment

    • Platform: [Android]
    • Architecture: [arm-v7a, arm-v7a-neon, arm64-v8a, x86, x86_64, armv7, armv7s, arm64, arm64-mac-catalyst, arm64-simulator, arm64e, i386, x86-64, x86-64-mac-catalyst ]
    • Version (v4.5.0)
    • Source branch (v4.5.0)
    • Android Studio version (2020.3.1 Patch 3)

    Other Add any other context about the problem here.

    question android flutter library v4.5 
    opened by xwolf47 16
  • No such file trying to convert file from internal storage (Android)

    No such file trying to convert file from internal storage (Android)

    I have one WAV file, saved on internal storage. I want to convert it to MP3 and save it to internal storage as well.

    FFmpegKit.execute("""
        -i ${inputWavFile.absolutePath}
        -vn -ar 44100 -ac 2 -b:a 320k
        ${outputMp3File.absolutePath}
    """)!!
    

    If I do this I get this error from FFMPEG:

    /data/user/0/packageName/files/4c6282a1662243b79360685c3aacdbb8
    : No such file or directory
    

    But the file exists and is accesible from Java / Kotlin space.

    Target API = 30 Tested on API level 30, Pixel 5 (real device)

    no-issue-activity 
    opened by andob 16
  • FFmpegKit failed to start on brand: OnePlus

    FFmpegKit failed to start on brand: OnePlus

    Description First and only order:

    String version = FFmpegKitConfig.getVersion();
    

    Expected behavior Should print the version

    Current behavior Crashed the app

    To Reproduce

    Screenshots If applicable, add screenshots to help explain your problem.

    Logs

    04-11 12:12:58.547  9247  9247 I ffmpeg-kit: Loading ffmpeg-kit.
    04-11 12:12:58.551  1194  9583 E MtkOmxVdecExV4L2: [0xd7727280] [ERROR] SetGrallocExtraQPSum graphicBufHandle 0 fd 181 invalid !!
    04-11 12:12:58.551  1194  9584 I MtkOmxVdecExV4L2: [0xd7727280] ConvertFrame create job: 43429, fence: 186, LINE: 9946
    04-11 12:12:58.552  9247  9247 D AndroidRuntime: Shutting down VM
    04-11 12:12:58.555  9247  9247 E AndroidRuntime: FATAL EXCEPTION: main
    04-11 12:12:58.555  9247  9247 E AndroidRuntime: Process: com.dji.videostreamdecodingsample, PID: 9247
    04-11 12:12:58.555  9247  9247 E AndroidRuntime: java.lang.IllegalStateException: Could not execute method for android:onClick
    04-11 12:12:58.555  9247  9247 E AndroidRuntime: 	at android.view.View$DeclaredOnClickListener.onClick(View.java:6349)
    04-11 12:12:58.555  9247  9247 E AndroidRuntime: 	at android.view.View.performClick(View.java:7575)
    04-11 12:12:58.555  9247  9247 E AndroidRuntime: 	at android.view.View.performClickInternal(View.java:7531)
    04-11 12:12:58.555  9247  9247 E AndroidRuntime: 	at android.view.View.access$3900(View.java:842)
    04-11 12:12:58.555  9247  9247 E AndroidRuntime: 	at android.view.View$PerformClick.run(View.java:28872)
    04-11 12:12:58.555  9247  9247 E AndroidRuntime: 	at android.os.Handler.handleCallback(Handler.java:938)
    04-11 12:12:58.555  9247  9247 E AndroidRuntime: 	at android.os.Handler.dispatchMessage(Handler.java:99)
    04-11 12:12:58.555  9247  9247 E AndroidRuntime: 	at android.os.Looper.loop(Looper.java:265)
    04-11 12:12:58.555  9247  9247 E AndroidRuntime: 	at android.app.ActivityThread.main(ActivityThread.java:8360)
    04-11 12:12:58.555  9247  9247 E AndroidRuntime: 	at java.lang.reflect.Method.invoke(Native Method)
    04-11 12:12:58.555  9247  9247 E AndroidRuntime: 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:632)
    04-11 12:12:58.555  9247  9247 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1049)
    04-11 12:12:58.555  9247  9247 E AndroidRuntime: Caused by: java.lang.reflect.InvocationTargetException
    04-11 12:12:58.555  9247  9247 E AndroidRuntime: 	at java.lang.reflect.Method.invoke(Native Method)
    04-11 12:12:58.555  9247  9247 E AndroidRuntime: 	at android.view.View$DeclaredOnClickListener.onClick(View.java:6344)
    04-11 12:12:58.555  9247  9247 E AndroidRuntime: 	... 11 more
    04-11 12:12:58.555  9247  9247 E AndroidRuntime: Caused by: java.lang.Error: FFmpegKit failed to start on brand: OnePlus, model: DN2103, device: OP515BL1, api level: 30, abis: arm64-v8a armeabi-v7a armeabi, 32bit abis: armeabi-v7a armeabi, 64bit abis: arm64-v8a.
    04-11 12:12:58.555  9247  9247 E AndroidRuntime: 	at com.arthenica.ffmpegkit.NativeLoader.loadLibrary(NativeLoader.java:50)
    04-11 12:12:58.555  9247  9247 E AndroidRuntime: 	at com.arthenica.ffmpegkit.NativeLoader.loadFFmpegKit(NativeLoader.java:189)
    04-11 12:12:58.555  9247  9247 E AndroidRuntime: 	at com.arthenica.ffmpegkit.FFmpegKitConfig.<clinit>(FFmpegKitConfig.java:145)
    04-11 12:12:58.555  9247  9247 E AndroidRuntime: 	at com.arthenica.ffmpegkit.FFmpegKitConfig.getVersion(FFmpegKitConfig.java:572)
    04-11 12:12:58.555  9247  9247 E AndroidRuntime: 	at com.decades.djistreamerlib.StreamerLib.startRTMP(StreamerLib.java:451)
    04-11 12:12:58.555  9247  9247 E AndroidRuntime: 	at com.dji.videostreamdecodingsample.MainActivity.onClick(MainActivity.java:206)
    04-11 12:12:58.555  9247  9247 E AndroidRuntime: 	... 13 more
    04-11 12:12:58.555  9247  9247 E AndroidRuntime: Caused by: java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "__emutls_get_address" referenced by "/data/app/~~56c3wYhS1sUR92H0nVd9KQ==/com.dji.videostreamdecodingsample-u-Gt76MeygKCTnLBOntuMA==/lib/arm64/libffmpegkit.so"...
    04-11 12:12:58.555  9247  9247 E AndroidRuntime: 	at java.lang.Runtime.loadLibrary0(Runtime.java:1087)
    04-11 12:12:58.555  9247  9247 E AndroidRuntime: 	at java.lang.Runtime.loadLibrary0(Runtime.java:1008)
    04-11 12:12:58.555  9247  9247 E AndroidRuntime: 	at java.lang.System.loadLibrary(System.java:1664)
    04-11 12:12:58.555  9247  9247 E AndroidRuntime: 	at com.arthenica.ffmpegkit.NativeLoader.loadLibrary(NativeLoader.java:48)
    04-11 12:12:58.555  9247  9247 E AndroidRuntime: 	... 18 more
    

    Environment

    • Platform: Android
    • Architecture: adb shell getprop ro.product.cpu.abi says: arm64-v8a

    Other Add any other context about the problem here.

    I just included this dependency to my project:

    implementation 'com.arthenica:ffmpeg-kit-full:4.5.1'

    Need to say, that something similar already worked with your abandoned predecessor project.

    duplicate no-issue-activity 
    opened by neilyoung 15
  • Scoped storage

    Scoped storage

    Description Hi Working on android 11 OS. As I was using your ffmpeg libray 4.2.2.LTS library every thing is working perfectly. Now as we have to use scope storage, can I use the same version 4.2.2.LTS or I have to use your latest 4.4.LTS ?

    Current behavior Now I am using 4.4.LTS for testing purpose and the command is "String cmommand = ("-y -i " + videoPath + " -t -vf hue=h=0:s=2.5 metadata:s:v rotate=0 -c:v libx264 -preset ultrafast -ar 44100 -c:a aac -ab 128k -strict -2 "+filePath);" its giving error like "Invalid duration specification for t: -vf". Please let me know which one I have to use 4.2.2.LTS or 4.4.LTS

    ffmpeg-question question no-issue-activity android v4.4 library saf 
    opened by gururajKp 14
  • iOS improvements

    iOS improvements

    Description

    I want to make 32+64 bit device+simulator build of FFmpeg using modern toolchain.

    Type of Change

    • New feature
    • Bug fix

    Checks

    • [ ] Changes support all platforms (Android, iOS, macOS, tvOS)
    • [ ] Breaks existing functionality
    • [x] Implementation is completed, not half-done
    • [ ] Is there another PR already created for this feature/bug fix

    Tests

    Made 32+64 bit device+simulator (without Catalyst) build of FFmpeg using Xcode 12.5.1.

    ./ios.sh --disable-arm64-mac-catalyst --disable-x86-64-mac-catalyst --speed --lts --enable-ios-audiotoolbox --enable-ios-avfoundation --enable-ios-bzip2 --enable-ios-zlib --enable-ios-libiconv --enable-ios-videotoolbox --no-framework
    
    Building ffmpeg-kit LTS shared library for iOS
    
    Architectures: armv7, armv7s, arm64, arm64e, i386, x86-64, arm64-simulator
    Libraries: ios-zlib, ios-audiotoolbox, ios-bzip2, ios-videotoolbox, ios-avfoundation, ios-libiconv
    
    Downloading sources: ok
    
    Building armv7 platform targeting iOS SDK 9.3 and Mac Catalyst 13.0
    
    
    ffmpeg: ok
    
    ffmpeg-kit: ok
    
    Building armv7s platform targeting iOS SDK 9.3 and Mac Catalyst 13.0
    
    
    ffmpeg: ok
    
    ffmpeg-kit: ok
    
    Building arm64 platform targeting iOS SDK 9.3 and Mac Catalyst 13.0
    
    
    ffmpeg: ok
    
    ffmpeg-kit: ok
    
    Building arm64e platform targeting iOS SDK 9.3 and Mac Catalyst 13.0
    
    
    ffmpeg: ok
    
    ffmpeg-kit: ok
    
    Building i386 platform targeting iOS SDK 9.3 and Mac Catalyst 13.0
    
    
    ffmpeg: ok
    
    ffmpeg-kit: ok
    
    Building x86-64 platform targeting iOS SDK 9.3 and Mac Catalyst 13.0
    
    
    ffmpeg: ok
    
    ffmpeg-kit: ok
    
    Building arm64-simulator platform targeting iOS SDK 9.3 and Mac Catalyst 13.0
    
    
    ffmpeg: ok
    
    ffmpeg-kit: ok
    
    opened by kambala-decapitator 13
  • Crash in libavutil.so when using latest NDK version 23.1.7779620 to build ffmpeg

    Crash in libavutil.so when using latest NDK version 23.1.7779620 to build ffmpeg

    Description Crash in libavutil.so when using latest NDK version 23.1.7779620 to build ffmpeg

    Expected behavior Should not crash

    Current behavior When I build ffmpeg libraries for my baresip app using ffmpeg-kit master and NDK 23.0.7599858, the app starts and works fine. Without changing anything else except using latest NDK 23.1.7779620 to build ffmpeg libs, the app crashes at start with this log message:

    11-13 11:18:09.442 23890 23890 E AndroidRuntime: java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "__emutls_get_address" referenced by "/data/app/~~VV5up2PFDWp5FVE4Nd4CIA==/com.tutpro.baresip.plus-OoB1CvZdgkOqYxE_nLSsvQ==/base.apk!/lib/arm64-v8a/libavutil.so"...
    

    To Reproduce See above.

    Screenshots If applicable, add screenshots to help explain your problem.

    Logs Post logs here or paste them to Ghostbin and insert the link here.

    Environment

    • Platform: Android
    • Architecture:arm64-v8a
    • Version
    • Source branch: master
    • Xcode version:
    • Cocoapods version:
    • Android Studio version: 2020.3.1
    • Android NDK version: 23.1.7779620

    Other I searched the web and found same kind of errors reported earlier, but not very recently, Could be a bug in NDK 23.1.7779620.

    opened by juha-h 12
  • CMakeLists.text error:

    CMakeLists.text error:

    Hi, there I have been simply building this android and got this error can you give a clue how to solve this error.

    --------------
    
    -- Building for: Visual Studio 17 2022
    CMake Error at CMakeLists.txt:9 (project):
      Failed to run MSBuild command:
    
        C:/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools/MSBuild/Current/Bin/amd64/MSBuild.exe
    
      to get the value of VCTargetsPath:
    
        Microsoft (R) Build Engine version 17.2.1+52cd2da31 for .NET Framework
        Copyright (C) Microsoft Corporation. All rights reserved.
        
        Build started 06-08-2022 12:35:24.
        Project "C:\Users\HOME\Desktop\ffmpeg-kit\.tmp\cmake\build\android-arm\cpu-features\CMakeFiles\3.24.0\VCTargetsPath.vcxproj" on node 1 (default targets).
        C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\MSBuild\Current\Bin\amd64\Microsoft.Common.CurrentVersion.targets(824,5): error : The BaseOutputPath/OutputPath property is not set for project 'VCTargetsPath.vcxproj'.  Please check to make sure that you have specified a valid combination of Configuration and Platform for this project.  Configuration='Debug'  Platform='x64'.  You may be seeing this message because you are trying to build a project without a solution file, and have specified a non-default Configuration or Platform that doesn't exist for this project. [C:\Users\HOME\Desktop\ffmpeg-kit\.tmp\cmake\build\android-arm\cpu-features\CMakeFiles\3.24.0\VCTargetsPath.vcxproj]
        Done Building Project "C:\Users\HOME\Desktop\ffmpeg-kit\.tmp\cmake\build\android-arm\cpu-features\CMakeFiles\3.24.0\VCTargetsPath.vcxproj" (default targets) -- FAILED.
        
        Build FAILED.
        
        "C:\Users\HOME\Desktop\ffmpeg-kit\.tmp\cmake\build\android-arm\cpu-features\CMakeFiles\3.24.0\VCTargetsPath.vcxproj" (default target) (1) ->
        (_CheckForInvalidConfigurationAndPlatform target) -> 
          C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\MSBuild\Current\Bin\amd64\Microsoft.Common.CurrentVersion.targets(824,5): error : The BaseOutputPath/OutputPath property is not set for project 'VCTargetsPath.vcxproj'.  Please check to make sure that you have specified a valid combination of Configuration and Platform for this project.  Configuration='Debug'  Platform='x64'.  You may be seeing this message because you are trying to build a project without a solution file, and have specified a non-default Configuration or Platform that doesn't exist for this project. [C:\Users\HOME\Desktop\ffmpeg-kit\.tmp\cmake\build\android-arm\cpu-features\CMakeFiles\3.24.0\VCTargetsPath.vcxproj]
        
            0 Warning(s)
            1 Error(s)
        
        Time Elapsed 00:00:00.20
        
    
      Exit code: 1
    
    
    
    -- Configuring incomplete, errors occurred!
    See also "C:/Users/HOME/Desktop/ffmpeg-kit/.tmp/cmake/build/android-arm/cpu-features/CMakeFiles/CMakeOutput.log".
    
    
    
    opened by Ansh-Rathod 0
  • How can I modify CMAKE_GENERATOR_PLATFORM

    How can I modify CMAKE_GENERATOR_PLATFORM

    Description My computer is the win64 version, but the script always generates the x86 version by default, which causes the project to not be built smoothly. I tried to modify this property in Cmake_Cache.txt, it works in 4.4LTS, but now it doesn't work, the changes will be overwritten.

    Expected behavior By default, a project that is available in the win64 version is generated.

    Current behavior always x86.

    To Reproduce 1.click the android.sh and run it 2.then happens

    Screenshots

    Logs I guess log is not necessary.

    Environment

    • Platform: Android
    • Architecture: arm-v7a, arm-v7a-neon, arm64-v8a, x86, x86_64, armv7, armv7s, arm64
    • Version: v4.5
    • Source branch: main
    • Xcode version: 12.4.1
    • Cocoapods version: 1.10.1
    • Android Studio version: ``
    • Android NDK version: 25.0.8775105
    • flutter doctor:
    • react-native info:

    Other

    opened by joe-vettek 0
  • Update React Native README.md

    Update React Native README.md

    Fixes link to Packages

    Parallels PR #518

    Description

    The current React Native documentation has a dead link for Packages, this should fix the linking to the main Readme so users can follow along to the Packages section.

    Type of Change

    • Documentation

    Checks

    • [x] Changes support all platforms (Android, iOS, macOS, tvOS)
    • [ ] Breaks existing functionality
    • [x] Implementation is completed, not half-done
    • [ ] Is there another PR already created for this feature/bug fix

    Tests

    Should be able to click on the link and it takes you to the Packages section of the main README

    opened by pweisensee 0
  • Provide .APK-files via ffmpeg-kit/releases.

    Provide .APK-files via ffmpeg-kit/releases.

    Is your feature request related to a problem? Please describe. I want to be able to evaluate releases without needing to compile this or install from a marketplace.

    Describe the solution you'd like Observe the title.

    Describe alternatives you've considered Compilation to F-Droid, and potentially the Google Play Store.

    opened by BEEDELLROKEJULIANLOCKHART 0
  • [Flutter] Replacing the Method Channel implementation with an FFI implementation

    [Flutter] Replacing the Method Channel implementation with an FFI implementation

    Is your feature request related to a problem? Please describe. The current version of ffmpeg_kit_flutter uses MethodChannels to implement its functionality. This works as expected, however using FFI is faster than using method channels since you eliminate the overhead of the BinaryMessenger.

    You can also eliminate the extra code on the native platform since there is one FFI binding (probably generated using ffigen) that is defined in Dart. So there is no more need for Kotlin/Swift and the like.

    Describe the solution you'd like Migrate the Flutter plugin to use the native ffmpeg library directly with FFI.

    Describe alternatives you've considered The current implementation of the plugin uses MethodChannels, which is what should be replaced.

    Platform Flutter

    Additional context N/A

    enhancement flutter v4.5.1 
    opened by navaronbracke 1
Releases(react.native.v4.5.2)
ffmpeg supporting EVC codec and file formats.

ffevc ffmpeg supporting EVC codec and file formats. MPEG-5 Essential Video Coding (EVC) integration with FFmpeg project. It is supported under Linux a

MPEG-5 21 Jul 9, 2022
FFmpeg coding tutorial - learn how to code custom transmuxing, transcoding, metadata extraction, frame-by-frame reading and more

FFmpeg code examples FFmpeg coding tutorial - learn how to code custom transmuxing, transcoding, metadata extraction, frame-by-frame reading and more

Rim Zaidullin 6 Jul 12, 2022
A UE4 plugin used ffmpeg library to record/publish game viewport output and in-game audio.

Streaming A UE4 plugin used ffmpeg library to record/publish game viewport output and in-game audio. GPL license beacuse used ffmpeg. Structures GameV

Luo Yu 2 Feb 25, 2022
AAAAnimation - An ASCII Art animation program working with FFmpeg and Qt. Some code is written in assembly.

AAAAnimation About This is a term project of the Assembly Language and System Programming course in NCU. It decodes video with FFmpeg and plays ASCII

null 18 May 25, 2022
FFmpeg library inspector

ffmpeg-lib-info Prints the license, version, and configuration for FFmpeg libraries.

Zeranoe 3 Jun 7, 2021
Implement a universal video player based on FFmpeg

qiaopcmusic 实现一个万能视频播放器 添加依赖方式: To get a Git project into your build: Step 1. Add the JitPack repository to your build file Add it in your root build.

null 6 Oct 15, 2021
FFmpeg powered audio player in node.js

sange FFmpeg powered audio player in node.js prerequisites node.js cmake sudo apt install cmake c++ compiler sudo apt install g++ gcc ffmpeg sudo apt

ilikdoge 7 Jun 27, 2022
PowerVS is a standalone broadcast video server based on ffmpeg

PowerVS PowerVS is a standalone broadcast video server based on ffmpeg ?? Table of Contents About Getting Started Running the tests Usage Development

null 3 Mar 17, 2022
C++ wrapper for FFmpeg

AvCpp Wrapper for the FFmpeg that simplify usage it from C++ projects. Currently covered next functionality: Core helper & utility classes (AVFrame ->

Alexander Drozdov 302 Jul 24, 2022
Example how to use ffmpeg to decode video file.

FFMpeg-decode-example Example how to use ffmpeg to decode video file. Link to article about decode with FFMpeg. Russian article. Example shows you the

Unick Soft 32 Jul 8, 2022
SRS is a simple, high efficiency and realtime video server, supports RTMP/WebRTC/HLS/HTTP-FLV/SRT/GB28181.

SRS is a simple, high efficiency and realtime video server, supports RTMP/WebRTC/HLS/HTTP-FLV/SRT/GB28181.

ossrs 18.8k Aug 4, 2022
OvenMediaEngine (OME) is a Streaming Server for Sub-Second Latency. It supports WebRTC, RTMP, SRT, MPEG-2 TS, RTSP as input, WebRTC, LL-DASH, MPEG-DASH, HLS as output.

OvenMediaEngine (OME) is a Streaming Server for Sub-Second Latency. It supports WebRTC, RTMP, SRT, MPEG-2 TS, RTSP as input, WebRTC, LL-DASH, MPEG-DASH, HLS as output.

AirenSoft 1.5k Aug 1, 2022
Olive is a free non-linear video editor for Windows, macOS, and Linux.

Olive is a free non-linear video editor for Windows, macOS, and Linux.

Olive Team 6.3k Jul 29, 2022
NymphCast is a audio and video casting system with support for custom applications.

NymphCast is a software solution which turns your choice of Linux-capable hardware into an audio and video source for a television or powered speakers. It enables the streaming of audio and video over the network from a wide range of client devices, as well as the streaming of internet media to a NymphCast server, controlled by a client device.

Maya Posch 2.2k Aug 5, 2022
Axis video analytics example applications

Axis Camera Application Platform (ACAP) 4 example applications that provide developers with the tools and knowledge to build their own solutions based on the ACAP Computer Vision SDK

Axis Communications 13 Jul 6, 2022
This repository contains applications used in my Gameboy LCD video.

Gameboy LCD stuff This repository contains applications used in my Gameboy LCD video. Pin naming LCD pin naming used in this repository matches the Ga

null 21 Jul 3, 2022
yangwebrtc is a self-developed rtc architecture supporting Webrtc/Srt/Rtmp, including a variety of video and audio codecs and processing, etc.

YangWebrtc Overview yangwebrtc是一个自主研发的支持Webrtc/Srt/Rtmp的rtc架构,包含多种视音频编解码和处理等。 支持视频会议、高清录播直播、直播互动等多种视音频应用。 可用于远程教育、远程医疗、指挥调度、安防监控、影视录播、协同办公、直播互动等多种行业应用

null 297 Jul 25, 2022
Kodi is an award-winning free and open source software media player and entertainment hub for digital media

website • docs • community • add-ons Welcome to Kodi Home Theater Software! Kodi is an award-winning free and open source software media player and en

Team Kodi 14k Jul 28, 2022
Vireo is a lightweight and versatile video processing library written in C++11

Overview Vireo is a lightweight and versatile video processing library that powers our video transcoding service, deep learning recognition systems an

Twitter 855 Jul 28, 2022