-
-
Notifications
You must be signed in to change notification settings - Fork 828
[Android] Feature request: add openH264 cross-compile support #152
Comments
It's not clear whether |
I can certainly say that I won't publish a binary with |
I just added |
You refrain from bundling openh264, but are the licensing restrictions for libx264 any better? |
Is it a question or a complaint? How about expressing your opinion directly? |
It's a question; I did not study the cumbersome details of MPEG LA restrictions for h264. From the little I read, I saw nothing that would make distribution of libx264 different from openh264. On the other hand, I think it's natural that Cisco uses more careful language than Videolan. |
I read the details of
|
I am not a lawyer, so please take my conclusions with a grain of salt. But I tried to read more about the MPEG LA licensing, and this is what I have found: The fact that neither of us finds any mention of MPEG LA licensing in x264 documentation does not mean that they don't apply. A detailed answer circa 2015 sums up that use of h264 binaries from either source may be problematic if these binaries come from a server which is under the US jurisdiction (GitHub is). The official binaries from https://artifacts.videolan.org/x264 are not hosted in the US (unfortunately, they don't include iOS or Android). The official binaries from https://github.com/cisco/openh264/releases/tag/v2.1.1 are covered by Cisco. That's why, to cover their $ss, they add the clause in their FAQ to explain what uses they don't cover: any other way to distribute the binaries that encode and/or decode H.264. The MPEG LA license terms for codec manufacture (which may be interpreted to include binary distribution, and Cisco seems to have accepted this interpretation, or at least, its consequences) are listed on page 10 of https://www.mpegla.com/wp-content/uploads/avcweb.pdf: Products sold to end users and OEM for PC but not part of OS (decoder, encoder or product consisting of one decoder and one encoder = “unit”)
Enterprise selling branded OEM for PC OS ommitted for brevity, because they definitely don't apply to mobile-ffmpeg.
I must confess that I don't understand the meaning of the last paragraph, but it definitely applies equally to openh264 and libx264. By the way, similar rules apply to HEVC (a.k.a. H.265). The fact that libx264 and libx265 are GPL, does not matter for MPEG LA licensing. The question is whether the application that uses mobile-ffmeg, can be interpreted as selling the H.264 video. TL;NR: there seems to be no justification to apply diferent policies to distribution of libx264 and openh264 binaries. It may be possible to have these binaries downloaded from the official sites, then MPEG LA licensing is not your problem. You can let the users download and build these libraries themselves, and again MPEG LA licensing is not your problem. Or, you can ignore the licensing problem altogether. |
Well, it looks like the wiki pages about licenses and commercial application usage have to be updated. But not sure about the details. There are still a few big questions unanswered. The main question is where does Firefox is downloading I want to have a clear answer about this before deciding about supporting/dropping a feature. |
I fully agree that the clarity is very important here, but unfortunately I have no idea how such licensing law guidance can be obtained (without paying big money). For example, to what extent the paragraph about the right of End Users to use them for personal and consumer (including internal business) purposes without remuneration is applicable to mobile-ffmpeg? – I don't know. The language of the MPEG LA license does not make distinction between standalone applications and libraries. They do have separate clause for products that are part of the OS, but this is not relevant for mobile-ffmpeg. The case of Firefox is definitely remarkable: they go into the pain of downloading the binaries from Cisco to be on the safe side. Unfortunately, mobile-ffmpeg cannot follow the same path: neither Android nor iOS support such download directly to end-user's device. |
Tried to find similar use cases on the web, where there is a library like https://mailman.videolan.org/pipermail/x264-devel/2010-July/007508.html In both of these links, library maintainers say that app developer is responsible of paying the patent fees. That
I noticed that Moreover, on mobile platforms, official applications are distributed using app stores (App Store, Google Play, Galaxy Store, etc). Installing applications manually is also supported on Android. But there has to be a website which distributes the Also, I can't think of a scenario where an Android/iOS application installed on an So, I believe |
Now I read more about the GPL libraries, e.g. kvazaar, and I believe that binary distribution of these is even more risky than more flexible licenses (e.g. openh264). As commenter jwr put it, the GPL license is a tool to fight the freedom battle. |
Practically speaking, the chances of MPEG LA suing you for infringement of their license are extremely low. They have very little incentive to waste the time of their lawyers trying to shut your library down. In the worst case, while it's possible to force GitHub to delete the library, it's much harder to hold personally you responsible for anything. |
There are too many license details to deal with. GPL v2 can be a problem as stated inside that Honestly, I don't want to interpret licenses. I don't have enough knowledge about them. I think stopping distributing binaries is the safest option here. |
Absolutely. No binaries, no problem. Unfortunately, this applies not only to openh264, but also to kvazaar and x26x. |
Well, I'm considering stopping distributing all packages. Unfortunately, this will kill my other projects: |
@tanersener Do you have plans to completely remove flutter ffmpeg from the pub Dev site? I was going to try switch to using openh264 for my android compression but will try going a native java route if you are planning to remove it in the near future. Your libraries are been really useful but I understand the risk you are exposing yourself to and can see why you would close the projects. If you could let me know your plans I would be grateful. |
So, I'm trying to find alternative ways of distributing the binaries to protect all three projects. This is the current situation. |
Does mobile-ffmpeg direct support openH264 cross-compile? If not , could you please support it ? thanks
The text was updated successfully, but these errors were encountered: