GithubHelp home page GithubHelp logo

magiclen / ffmpeg-cli-for-android Goto Github PK

View Code? Open in Web Editor NEW
22.0 8.0 7.0 1.18 GB

Now, you can edit audios and videos by using Command Line Interface for FFmpeg.

Home Page: https://magiclen.org/ffmpeg-android/

ffmpeg android

ffmpeg-cli-for-android's Introduction

FFmpeg CLI For Android

Introduction

Now, you can edit audios and videos by using Command Line Interface for FFmpeg.

This is an application which can help you edit audio and video by using FFmpeg with Command Line Interface on Android devices.

FFmpeg is a video and audio converter. It supports many codecs and has many useful functions to deal with conversion. The most important thing is that FFmpeg is FREE for personal use. You can compile your own FFmpeg binary file(if you want, please use the FFmpeg source code on our GitHub) called customized FFmpeg and use it via this application.

This application has a default built-in FFmpeg 4.2.2 program which is compiled and optimized for arm, arm64, x86 and x86_64 architectures. It enables many libraries below:

● OpenH264 2.0.0
● LAME 3.100
● Opus 1.3.1
● libwebp 1.0.3
● libvorbis 1.3.6
● OpenJPEG 2.3.1
● libvpx 1.8.0
● opencore-amr 0.1.5
● vo-amrwbenc 0.1.3
● libsoxr 0.1.3
● WavPack 5.1.0
● TwoLAME 0.4.0
● libbs2b 3.1.0
● libtheora 1.1.1
● kvazaar - 1.3.0
● libopenmpt 0.4.10
● freetype 2.10.1
● FriBidi 1.0.7
● fontconfig 2.13.92
● libass 0.14.0
● libaom 1.0.0-20191030
● libressl 3.0.2
● gmp 6.1.2
● OpenCV 2.4.13.6
● zimg 2.9.2

If you want to enable GPL license or nofree libraries such as openssl, libxvid, libx264, libx265, libfdk-aac..., please download a customized FFmpeg file that can be compiled by using our FFmpeg source code on GitHub.

GitHub: https://github.com/magiclen/FFmpeg-For-MagicLen-Applications

License

Copyright 2015-2019 magiclen.org

Everyone can not use this program to do any business activity.

Google Play

https://play.google.com/store/apps/details?id=org.magiclen.ffmpeg.cli

What's More?

Please check out our web page at

https://magiclen.org/ffmpeg-android/

ffmpeg-cli-for-android's People

Contributors

magiclen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ffmpeg-cli-for-android's Issues

Upload source code

This is exactly what I was looking for. You can share. Can you upload source code of this project? Thanks you very much

subtitles视频滤镜不能使用自定义字体

安卓手机的,我看到别人说subtitles='subtitle.srt':fontsdir='fontsdir':force_style='fontname=fontname'可以编字幕。试了下会出现什么fonts.conf配置错误,然后提示默认使用DroidSansFallback字体,自定义的字体怎么设置才能用?谁知道吗?

Process.start err

參考了這個文章

File fileBinDir = new File(activity.getFilesDir().getParentFile(), "lib"); //FFmpeg執行檔的所在目錄
File fileBin = new File(fileBinDir, "libffmpeg.so"); //FFmpeg執行檔的檔案路徑
ProcessBuilder pb = new ProcessBuilder(cmds); //cmds為Command Line的指令,例如某行指令為:「libffmpeg.so -h」cmds的List內容就是["libffmpeg.so","-h"]
pb.directory(fileBinDir); //將工作目錄移到FFmpeg執行檔的所在目錄,不過還是建議在cmds中以絕對路徑來表示libffmpeg.so
pb.redirectErrorStream(true); //將FFmpeg的標準輸出和錯誤輸出合併成同一個inputStream
Process process = pb.start(); //執行行程

不知道為何在執行

pb.start();
時候報錯.
錯誤信息如下:

java.io.IOException: Error running exec(). Command: [ffmpeg, -version] Working Directory: /data/data/com.example.magiclen/lib Environment: [EXTERNAL_ADD_USB_STORAGE4=/storage/USBstorage4, EXTERNAL_ADD_USB_STORAGE2=/storage/USBstorage2, EMULATED_STORAGE_TARGET=/storage/emulated, EXTERNAL_ADD_USB_STORAGE6=/storage/USBstorage6, EXTERNAL_ADD_USB_STORAGE3=/storage/USBstorage3, PATH=/sbin:/vendor/bin:/system/sbin:/system/bin:/system/xbin, ANDROID_DATA=/data, EXTERNAL_ADD_USB_STORAGE5=/storage/USBstorage5, BOOTCLASSPATH=/system/framework/WfdCommon.jar:/system/framework/aspectjrt.jar:/system/framework/com.lge.frameworks.jar:/system/framework/com.lge.policy.jar:/system/framework/telephony-target.jar:/system/framework/com.lge.opt.jar:/system/framework/bc-fips.jar:/system/framework/tcmiface.jar:/system/framework/core-libart.jar:/system/framework/conscrypt.jar:/system/framework/okhttp.jar:/system/framework/core-junit.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/telephony-common.jar:/system/framework/voip-common.jar:/system/framework/ims-common.jar:/system/framework/mms-common.jar:/system/framework/android.policy.jar:/system/framework/apache-xml.jar, SECONDARY_STORAGE=/storage/external_SD, ANDROID_STORAGE=/storage, EXTERNAL_ADD_USB_STORAGE1=/storage/USBstorage1, ANDROID_ROOT=/system, EMULATED_STORAGE_SOURCE=/mnt/shell/emulated, LOOP_MOUNTPOINT=/mnt/obb, LD_PRELOAD=libsigchain.so:libNimsWrap.so, ANDROID_BOOTLOGO=1, EXTERNAL_STORAGE=/storage/emulated/legacy, SYSTEMSERVERCLASSPATH=/system/framework/com.lge.services.jar:/system/framework/services.jar:/system/framework/ethernet-service.jar:/system/framework/wifi-service.jar, ANDROID_ASSETS=/system/app, ASEC_MOUNTPOINT=/mnt/asec, EXTERNAL_ADD_STORAGE=/storage/external_SD, ANDROID_SOCKET_zygote_secondary=12, ANDROID_PROPERTY_WORKSPACE=10,0]

Error loading .so in the newest version

Hi,

after the latest update I am getting

11-03 18:20:15.023 25149 25188 E AndroidRuntime: FATAL EXCEPTION: Thread-6
11-03 18:20:15.023 25149 25188 E AndroidRuntime: Process: org.magiclen.ffmpeg.cli.pro, PID: 25149
11-03 18:20:15.023 25149 25188 E AndroidRuntime: java.lang.RuntimeException: Cannot run program "/data/user/0/org.magiclen.ffmpeg.cli.pro/libffmpeg.so": error=13, Permission denied
11-03 18:20:15.023 25149 25188 E AndroidRuntime: at b.a.d.a.a(Unknown Source:168)
11-03 18:20:15.023 25149 25188 E AndroidRuntime: at b.a.d.a$a.run(Unknown Source:6)

Android 10/Oxygen OS on Oneplus 7 Pro

Could you please look into it?
Thank you

Process.start err

參考了這個文章

File fileBinDir = new File(activity.getFilesDir().getParentFile(), "lib"); //FFmpeg執行檔的所在目錄
File fileBin = new File(fileBinDir, "libffmpeg.so"); //FFmpeg執行檔的檔案路徑
ProcessBuilder pb = new ProcessBuilder(cmds); //cmds為Command Line的指令,例如某行指令為:「libffmpeg.so -h」cmds的List內容就是["libffmpeg.so","-h"]
pb.directory(fileBinDir); //將工作目錄移到FFmpeg執行檔的所在目錄,不過還是建議在cmds中以絕對路徑來表示libffmpeg.so
pb.redirectErrorStream(true); //將FFmpeg的標準輸出和錯誤輸出合併成同一個inputStream
Process process = pb.start(); //執行行程

不知道為何在執行

pb.start();

時候報錯.
錯誤信息如下:

java.io.IOException: Error running exec(). Command: [ffmpeg, -version] Working Directory: /data/data/com.example.magiclen/lib Environment: [EXTERNAL_ADD_USB_STORAGE4=/storage/USBstorage4, EXTERNAL_ADD_USB_STORAGE2=/storage/USBstorage2, EMULATED_STORAGE_TARGET=/storage/emulated, EXTERNAL_ADD_USB_STORAGE6=/storage/USBstorage6, EXTERNAL_ADD_USB_STORAGE3=/storage/USBstorage3, PATH=/sbin:/vendor/bin:/system/sbin:/system/bin:/system/xbin, ANDROID_DATA=/data, EXTERNAL_ADD_USB_STORAGE5=/storage/USBstorage5, BOOTCLASSPATH=/system/framework/WfdCommon.jar:/system/framework/aspectjrt.jar:/system/framework/com.lge.frameworks.jar:/system/framework/com.lge.policy.jar:/system/framework/telephony-target.jar:/system/framework/com.lge.opt.jar:/system/framework/bc-fips.jar:/system/framework/tcmiface.jar:/system/framework/core-libart.jar:/system/framework/conscrypt.jar:/system/framework/okhttp.jar:/system/framework/core-junit.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/telephony-common.jar:/system/framework/voip-common.jar:/system/framework/ims-common.jar:/system/framework/mms-common.jar:/system/framework/android.policy.jar:/system/framework/apache-xml.jar, SECONDARY_STORAGE=/storage/external_SD, ANDROID_STORAGE=/storage, EXTERNAL_ADD_USB_STORAGE1=/storage/USBstorage1, ANDROID_ROOT=/system, EMULATED_STORAGE_SOURCE=/mnt/shell/emulated, LOOP_MOUNTPOINT=/mnt/obb, LD_PRELOAD=libsigchain.so:libNimsWrap.so, ANDROID_BOOTLOGO=1, EXTERNAL_STORAGE=/storage/emulated/legacy, SYSTEMSERVERCLASSPATH=/system/framework/com.lge.services.jar:/system/framework/services.jar:/system/framework/ethernet-service.jar:/system/framework/wifi-service.jar, ANDROID_ASSETS=/system/app, ASEC_MOUNTPOINT=/mnt/asec, EXTERNAL_ADD_STORAGE=/storage/external_SD, ANDROID_SOCKET_zygote_secondary=12, ANDROID_PROPERTY_WORKSPACE=10,0]

怎样执行“d”或“Ctrl+C”

我使用您的客户端执行以下ffmpeg命令:

ffmpeg -i rtsp://XXX -acodec copy -vcodec copy /XXX/XXX.mp4

在macOS和Linux上,录制结束可以在终端中输入命令“d”/“Ctrl+C”,这样视频文件会被正确收尾,可以正常播放。直接关闭终端当然文件没有收尾,无法播放。

使用您的客户端,可以看到正在录制的mp4文件,但是接下来如何执行结束的命令“d”/“Ctrl+C”进行收尾呢?

請問台灣朋友

我在手機上想把srt字幕燒進mp4變成硬字幕 使用-vf subtitles=/sdcard/1.srt參數或者-vf“ass=/sdcard/1.ass”這樣的參數 比如(-i /sdcard/input.mp4 -vf subtitles=/sdcard/input.srt /sdcard/output.mp4)但是燒完的mp4上完全不顯示沒有效果 請問應該怎麼弄?

如果是嵌入/集成方式(ffmpeg -i input.mp4 -i subtitles.srt -c:s mov_text -c:v copy -c:a copy output.mp4)就可以 但是我不要這種方式

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.