user3652437
user3652437

Reputation: 211

CISCO H264 Encoding series of Images to H264

I am searching for a command line argument to convert series of Images into H264 using CISCO H264. (Something like FFMPEG image to video functionality). Unfortunately, I cant use FFMPEG as I am creating a commercial application, where I use the installed codec in the client system to encode series of Images into H264. I guess FFMPEG doesnt have the licencing for H264 Binaries as CISCO H264 has which pays the Royalty for MPEGLA. If I am not mistaken. Would be great to have suggestions in both regards.

Upvotes: 3

Views: 3290

Answers (2)

rcz
rcz

Reputation: 211

Depending on how you intend to use it, OpenH264 can be compiled and used in your free software. Full details can be found here:

https://vimeo.com/79578794

As the video says, when coding your own application/software, there are two scenarios this covers:

1) You are free to use the OpenH264 source code directly in your app. The MPEG-LA patent royalties that arise from this do still apply even though your application is free (see citation below). The software license of your app does not matter - it may be open, closed, or even commercial. Also, whether you sell it or not doesn't matter. What matters is how many units you actually distribute. Yet, it is not as bad as you think. If you distribute <100,000 units per year, you will pay no royalties (see MPEG-LA license terms). Thus, if you write free (as in no cost) software, you can compile OpenH264 directly, and don't need to force your user to retrieve a plug-in, and don't need to worry about lawyers until you're >100,000 units distributed.

2) If you wish to avoid the MPEG-LA royalties, you should not compile the OpenH264 source code, but must allow the end user the ability to download the OpenH264 plug-in binaries for your application. You distribute your own compiled application. You don't distribute the plug-in binaries directly, but may point your user to them, or even have your app give the user to option of retrieving them. Most importantly, decision to retrieve the OpenH264 plug-in must reside with the end user when installing or running your app. Cisco is paying the end-user royalties that arise from the OpenH264 plugin, and since your commercial app only loads up the plugin, they can do that for you.

Again, you are free to choose either option above. In both cases, it doesn't matter whether your app is open, closed, free or commercial. What matters is how you'd like to cover the distribution royalties. Option 1, you pay them based on how many downloads your software gets (not how many sold). Option 2, Cisco pays them if your app links to their plug-in which is retrieved by choice by your app user.

More sources:

http://robert.ocallahan.org/2010/01/h264-licensing-and-free-software_29.html

(Please note, I am not a lawyer. This is my own technical interpretation of the Cisco H.264 video and the MPEG-LA licensing agreement. The final bottom line is, if you distribute over >100,000 units, for whatever software license or pay structure, talk to a lawyer. Less than that, don't worry much.)

Upvotes: 4

szatmary
szatmary

Reputation: 31101

First you need to understand the legal around open264. You can not compile it. Only versions compiled by cisco are covered by ciscos existing license. You can not distribute it. If you distribute an app that uses it, it can not be part of your installer. Your app must download the binary from cisco. Open264 is a library, not an executable, You need to create your own executable. You will also need libraries to read the images and convert them to the correct colorspace.Finally, The cisco encoder produces very poor quality video as apposed to x264. I would suggest just paying for a x264 license, as well as mpeg-la royalties. They are probably not as expensive as you think.

Upvotes: 2

Related Questions