-
Notifications
You must be signed in to change notification settings - Fork 175
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
64bit support? #98
Comments
+1 for this question. That's a very interesting topic these days. |
Please confirm that this library supports 64 bit? |
There are currently no 64 bit libraries added. Will update back on this. |
Any changes ? |
Google play console must require 64bit support Please do asap to support this Library. Thanks |
Please suggest how to generate ffmpeg binaries for 64-bit. I followed https://github.com/WritingMinds/ffmpeg-android link to generate all architecture binaries but the last command in readme file ./android_build.sh fails with following error: HOST_OS=linux You can run 'make' or 'make fprofiled' now. I have searched alot but did not get anything. Please help |
#How to create library that support 64 bit .......... |
If you share the compiler script? Is the best option to reduce binary size or add https support |
Any updates on this? Is there a 64-bit library available yet? Time is edging closer to the cutoff point, and I assume many apps on Android use FFMPEG for video editing. Be useful to get it updated to 64 bit asap. Also, any plans to implement hardware acceleration? Currently runs so slowly on the Pixel 3 doing basic operations. |
Hello guys, I am working on 64-bit ffmpeg binaries. Once completed I will update you on it. |
@yadavkohi have you completed this 64bit update?, I am really waiting for that |
guys still working on it. |
Hi @yadavkohi , We are literally waiting for your update |
Any update ? |
I can't even imagine, how many apps are using this library, and how many devs are waiting for update... |
@yadavkohi , any rough idea by when everyone can get it ? 32 bit support will shut down in 4 weeks |
I will try to finish it by mid july |
Guys , i got Solution for this problems. now wait for 2 days to confirmation |
Hey guys. Could it be, that, since library is using ffmpeg binary by itself (copy -> run), it should work as is? There's no any pre-compilled .so files, referring to certain architecture. It's just binary executable file, which is launched by app itself, and has no influence in code (and it is in assets folder, btw). So it could be possible, that Google will know nothing about this binary during app publishing. |
android {
|
In which world should it resolve current issue, and how? |
In short time, i'm using https://github.com/tanersener/mobile-ffmpeg for hot fix . It'seem be resolve 64-bit issue |
@yadavkohi any update ? Does anyone has any idea that what worst can happen if we were not able to update before August1 and is there any workaround or temporary solution ? |
Hey ALL, |
As i suggested, most probably we'll be all good with this library. Binary native file is used from assets folder, and Google takes eye on lib folder. |
May be you are true but my concern is that until my last upload on play store(which was approx 3 weeks before) google was giving me 64-bit warning but now its not. I have not changed anything. |
Hello guys, I have created the 64-bit binaries. |
Thanks @yadavkohi |
yes just add the binaries under "src/main/assets" and try with your ffmpeg commands. |
thank you for answering. do you know if it is possible to put the files located on assets folder on libs folder? will it work? I am newbie too |
@Luifer94 no, it's not. Assets folder is the only which stays untouched during build, and reachable in runtime for binaries copying to system app folder. That's how this solution works. |
@Luifer94 you can look at my pull request that does exactly this (I have not added the 64-bit variant, because I did not have time to test it, but this doesn't require code changes with my solution). The advantage of moving the binaries to libs folder is that this also works on Android Q. |
@alexcohn Do you have plans to add the 64-bit variant soon? Seems to me it would take care of both issues (working with Android Q/10 as the target and the 64 bit support) at the same time. |
I have verified that you built with the following libraries: Could you build with the same bravobit libraries? Now i'm getting these messages: "Unknown decoder 'libvpx-vp9'" and "Unknown encoder 'libfdk_aac'" Bravobit build libraries: |
@darrinps as you see in @rafabets comment, the 64-bit variants built by @yadavkohi cannot exactly replace the 32-bit binaries included in @bravobit solution. But you can easily drop them in if they satisfy your requirements. Actually, it's enough to put these binaries in the jniLibs folder in your app (renamed to lib..ffmpeg..so), and they will be loaded correctly. No code changes required. |
@alexcohn I appreciate your response here. That followup begs the question though, if the variants built by @yadavkohi don't work as well as the current 32 bit ones already included in FFmpeg-Android, can ones that do work as well be created, and if so, are there plans to get those into it? We all need good 64 bit versions after all correct? Would think this would be at the top of the list of priorities (although I understand this isn't a "day job" for folks here). |
I am able to generate the APK as expected, but unfortunately both arm64-v8a and x86_64 versions do not contain any 64-bit code. There is no lib directory when analyzing the APK in Android Studio while the APK armeabi-v7a includes lib / libarm_arch.so. Any one could solve this problem and publish his app in google play? |
Where did you find |
When I analyze my APK the ffmpeg compilations appears under assets directory and I think they are working but also I find libarm_arch.so under the lib directory but only for 32 bit, and this compilations are being generated because I'm using ffmpeg in my project. |
This libarm_arch.so may come from a different repo, e.g. https://github.com/WritingMinds/ffmpeg-android-java |
Hi @marsvoltero have you fixed that issue? I am also facing the same issue, having |
actually, I would recommend to everybody worried about 64 bit and Android Q to try this different approach: https://github.com/tanersener/mobile-ffmpeg. It works with libffmpeg.so instead of executable, which is better supported by the system, but does have its own caveats. |
hii @alexcohn how to use this by removing static binary files from project.can you explain thank you |
@equationl I am not sure if downloading binaries complies with Play Store policies, but it will definitely not work on Android Q. |
Actually I already post it to google play,also I'm not sure it complies with Play Store policies. |
https://github.com/WritingMinds/ffmpeg-android is not a 64 bit library |
I just used it in a project running on Android Q on a physical device
(Pixel 3XL) and it seems to work fine.
No faster, but it is what it is.
Thanks
…On Mon, Nov 11, 2019 at 2:44 AM equationl ***@***.***> wrote:
I just edited a project like this
<https://github.com/equationl/FFmpeg-Android>, Use download instead of
packaging all binaries. Now it just 20kb.
@equationl <https://github.com/equationl> I am not sure if downloading
binaries complies with Play Store policies, but it will definitely not work
on Android Q.
Actually I already post it to google play,also I'm not sure it complies
with Play Store policies.
It work well on Android Q, I just run it by Android Virtual Device.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#98?email_source=notifications&email_token=AAKZATD5QRG7EMKVM7UMPW3QTELNXA5CNFSM4G6VOPBKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEDWCLNA#issuecomment-552347060>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAKZATHLB6GRM7LDW3OBODDQTELNXANCNFSM4G6VOPBA>
.
|
That's cool |
I got a solution and My app is published successfully without warning. I have also tested in Firebase Testlab with 5 different devices. The
I made three changes in that:
Try. May you will get success. |
This reverts commit e50d1c4 See https://issuetracker.google.com/issues/152645643 for discussion: this is not supposed to work, wrap.sh is a special well-known name. Also, older devices (e.g. API 24) don't install files from libs directory if they don't match the expected "lib.*\.so" pattern.
Awesome work @alexcohn, Thanks for helping with the 64bit implementation. I too started using this project and ran into the Android Q problem. I really hope I don't have to use another library and rewrite the code again. Hence your help is much appreciated. In the meantime could I just put this binary into the arm64-v8a folder or will that not work? |
@thomas-coinjar: feel free to put these alternative binaries into your project. @yadavkohi built ffmpeg with a very specific set of extra libraries, so it won't be wise to use them for general purposes. OTOH, there is no real benefit switching to 64-bit. As I have explained before, you can simply copy the 32-bit binaries (ffmpeg and/or ffprobe) to When you distribute your app, I recommend to use ABI splits, so that only one copy of CPU-dependent binaries is downloaded to each device. |
Can any one explain the steps that make it working on android Q plz ? |
Maybe it's time to switch to https://github.com/tanersener/mobile-ffmpeg as @thucnd55 suggested a year ago? |
@alexcohn i switched to mobile-ffmpeg but it increased my app size |
@Ahmed715 there are some recommendations how to reduce the app size. First of all, use ABI splits so that 32-bit and 64-bit libraries are not distributed in one APK. Also, only enable the relevant external libraries. |
Hello and many thanks for your ffmpeg library for Android.
After reading about the new 64bit requirement for Android of native libraries, I noted that your library is not stored in Libs but in Assets. Instructions from Google says to verify for the presence of 64bit by looking at the Directory-names. If I unzip, it only contains Arm and x86 directories and does not give an indication if 64 libs is included.
See this:
https://developer.android.com/distribute/best-practices/develop/64-bit
However, your readme seems to indicate support for 64bit when it says
armv8 (and x86_64).
Can you confirm that your library is OK with Google's new requirements?
Thanks.
The text was updated successfully, but these errors were encountered: