Giter Site home page Giter Site logo

khang-nt / android-media-converter Goto Github PK

View Code? Open in Web Editor NEW
204.0 21.0 60.0 85.85 MB

Android open source media converter build on top of FFmpeg

License: GNU General Public License v3.0

Kotlin 84.10% Java 14.82% Shell 0.79% HTML 0.29%
android media-converter ffmpeg android-video-converter ymusic-projects

android-media-converter's People

Contributors

khang-nt avatar simonpham avatar weblate avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

android-media-converter's Issues

Icon/Logo design Proposal

Good Day! Please allow me to submit a logo design proposal for your application. Hoping for your positve respone. Im currently making it right now, and when i finished doing it i will send it right a way. Thank You!

Concat multiple audio file

As an user, I want to use Media Converter app to concat multiple audio (or video) files to single audio file.
Input files can have various audio codec. The best audio codec for final output maybe AAC, so I can config bitrate as well.

Include OGG preset

It'd be very appreciated if you included a preset command to convert an audio file into Ogg Vorbis format.

Similarly, converting a piece of media to Ogg Theora video format too!

Doing a small small to keep people aware of open formats!

Image compression

feature request to add image converter/compressor? It would be great to see this on future updates.

Add More Formats

Please do add More formats like png ,Svg ,jpg etc or simply add image formats changing option and change a Video in to Gif Etc Which May Be Very Useful

Build without Fabric

Is it possible to build project "offline" without accessing Fabric API?

โžœ  Android-Media-Converter git:(master) ANDROID_HOME=~/Android/Sdk ./gradlew build
Starting a Gradle Daemon (subsequent builds will be faster)

> Task :app:fabricGenerateResourcesArm7Release FAILED
ERROR - Crashlytics Developer Tools error.
java.lang.IllegalArgumentException: Crashlytics found an invalid API key: null. 
Check the Crashlytics plugin to make sure that the application has been added successfully! 
Contact [email protected] for assistance.
        at com.crashlytics.tools.android.DeveloperTools.processApiKey(DeveloperTools.java:375)
        at com.crashlytics.tools.android.DeveloperTools.processProperties(DeveloperTools.java:517)
        at com.crashlytics.tools.android.DeveloperTools.processArgsInternal(DeveloperTools.java:348)
...
        at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
        at java.lang.Thread.run(Thread.java:748)


FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:fabricGenerateResourcesArm7Release'.
> Crashlytics Developer Tools error.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 17s
138 actionable tasks: 1 executed, 137 up-to-date

Trim media file

As an user, I want to trim (cut) my media file when transcoding it to another format, so I can keep only the part from a starting point (or begin of file) with specific duration, the precision in millisecond.

                      timeline
[--------------------------------------------------]
      start -->|<------- duration ------->|

Another useful function is auto trim silence part of input file: https://ffmpeg.org/ffmpeg-filters.html#silenceremove

Add rating dialog

When 3 or more jobs completed successfully, send an event to MainActivity (via BroadcastReceiver) to show rating dialog:

  • Title: "Rate us"
  • Message: "This app is useful, isn't it? Rate us 5 stars to help it reach out more people, thank you!"
  • Action:
    • "Love it": navigate user to Playstore, then never show dialog again
    • "Not now": dismiss dialog and show it later
    • "Never": never show this dialog again

Links:

Large Job's logs cause OutOfMemoryError

Stacktrace

Caused by java.lang.OutOfMemoryError: Failed to allocate a 94640388 byte allocation with 16777216 free bytes and 55MB until OOM
       at java.lang.StringFactory.newStringFromBytes(StringFactory.java:79)
       at java.lang.StringFactory.newStringFromBytes(StringFactory.java:207)
       at com.github.khangnt.mcp.ui.jobmanager.JobLogsActivity$reload$1.kotlin.io.FilesKt__FileReadWriteKt.readText(JobLogsActivity.kt:3091)
       at io.reactivex.internal.operators.observable.ObservableFromCallable.subscribeActual(ObservableFromCallable.java:42)
       at io.reactivex.Observable.subscribe(Observable.java:11040)
       at io.reactivex.internal.operators.observable.ObservableSubscribeOn$SubscribeTask.run(ObservableSubscribeOn.java:96)
       at io.reactivex.Scheduler$DisposeTask.run(Scheduler.java:463)
       at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66)
       at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57)
       at java.util.concurrent.FutureTask.run(FutureTask.java:237)
       at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:272)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
       at java.lang.Thread.run(Thread.java:760)

Fabric tracking issue:

https://fabric.io/khangnt-project/android/apps/com.github.khangnt.mcp/issues/5a92ac828cb3c2fa63ca913c?time=last-thirty-days

Solutions

  • Limit log file to appropriate size (~512KB at most), or let user specify max size in settings.
  • Most meaning information is usually at beginning and the end of log files, so the log at "middle" can be omitted if the file becomes too large.

Logo/Icon Proposal

Sorry for you to wait long due to some graphicss projects, As i promised, Here are my design in your project. Hope you like all of those. Thank You!
image

Contact me in [email protected]! If you have suggestions

Not downloading

The file which starts to download first actually turns failed once after downloading saying "check out put path"

Tag editor

As an user, I want to browse my media files, then pick any file to edit its metadata (artist, album, art cover,...).

Preparation halts

I've noticed that when processing large playlists the app will slow to a stand still passing pending ones and even when completed, will still slowly prepare the file then rapidly complete the queue until it snags on the next file.

Select multiple file

Ability to batch files would be wonderful. Also, app should remember last folder used - so user doesn't have to constantly select it when using app repeatedly. Thank you.

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.