Intel QSV H.264 codec for AVFoundation and DirectShow
Richard Gaskin
ambassador at fourthworld.com
Mon Jul 4 11:13:40 EDT 2016
Tiemo Hollmann wrote:
> I am looking for the most standardized state of the art codec to get a
> maximum of compatibility on both platforms, so I think H.264 is the right
> choice.
>
> My special requirement is, that I have to step thru the video frame by frame
> controlled by LC.
>
> My sorenson squeeze compressor offers 4 different H.264 codecs: "Intel QSV
> H.264", "MainConcept H.264", "Sorenson MPEG-4", "x264"
>
> My LC tests showed me, that I need to set a keyframe every single frame to
> be able to step thru the video framebased (at least with DirectShow). This
> option do only the intel QSV and the x264 codec offer.
>
> The x264 codec is a opensource codec and as far as I understand it is not
> preinstalled on any system and at least on my Mac a x264 video can't be
> played (perhaps there is a chance to manually install it, what I would like
> to avoid for my customers)
>
> So up to now it seems to me that only the intel QSV H.264 is left of my
> choices. It should be supported from Windows Vista on and from OS X 10.8 on.
>
> Has anybody experiences in this field of codecs, other experiences or tipps
> or would negate some of my conclusions?
Choosing a codec is a complex issues given the scope and variety of
their patent licensing.
My lay person's understanding is that x264 is available under GPL, so
it's useful for GPL-governed works but as you've noted isn't as widely
available across the many platforms we may choose to support.
H.264 is a good codec technically and has wide distribution, but AFAIK
remains mired in a patent pool so complex it needs an FAQ to try to
explain it:
<http://www.mpegla.com/main/programs/AVC/Pages/FAQ.aspx>
This article describes some of the legal considerations with H.264 in
lay terms:
<http://www.zdnet.com/article/a-closer-look-at-the-costs-and-fine-print-of-h-264-licenses/>
One of the open questions for us software developers is the case of
distributing commercial tools that use H.264. Apple and Microsoft have
their own license arrangements with the MPEG-LA consortium for
distributing the codec with their respective OSes (perhaps easier for
Apple since they're a member of that consortium), but we may need to
review the OS EULA to determine the allowable scope of use for the codec
in our own commercial software products.
For example, here are relevant sections of the Final Cut Pro X EULA,
which make it explicitly clear that despite the product's name
professional use is disallowed:
This product is licensed under the MPEG-4 Visual Patent Portfolio
License for the personal and noncommercial use of a consumer for
(i) encoding video in compliance with the MPEG-4 Visual Standard
("MPEG-4 Video") and/or (ii) decoding MPEG-4 video that was encoded
by a consumer engaged in a personal and non-commercial activity
and/or was obtained from a video provider licensed by MPEG LA
to provide MPEG-4 video. No license is granted or shall be implied
for any other use. Additional information including that relating
to promotional, internal and commercial uses and licensing may be
obtained from MPEG LA, LLC. See http://www.mpegla.com.
D. H.264/AVC Notice. To the extent that the Apple Software contains
AVC encoding and/or decoding functionality, commercial use of
H.264/AVC requires additional licensing and the following provision
applies: THE AVC FUNCTIONALITY IN THIS PRODUCT IS LICENSED HEREIN
ONLY FOR THE PERSONAL AND NON-COMMERCIAL USE OF A CONSUMER TO (i)
ENCODE VIDEO IN COMPLIANCE WITH THE AVC STANDARD ("AVC VIDEO")
AND/OR (ii) DECODE AVC VIDEO THAT WAS ENCODED BY A CONSUMER ENGAGED
IN A PERSONAL AND NON-COMMERCIAL ACTIVITY AND/OR AVC VIDEO THAT WAS
OBTAINED FROM A VIDEO PROVIDER LICENSED TO PROVIDE AVC VIDEO.
INFORMATION REGARDING OTHER USES AND LICENSES MAY BE OBTAINED FROM
MPEG LA L.L.C. SEE HTTP://WWW.MPEGLA.COM.
<http://images.apple.com/legal/sla/docs/FinalCutProX.pdf>
Given the wide variety of software components that play a role in H.264
decoding, it may be helpful to refer to this table of expiration dates
to attempt to determine when the relevant H.264 patents will expire:
<http://www.osnews.com/story/24954/US_Patent_Expiration_for_MP3_MPEG-2_H_264/>
When in doubt, it may be best to communicate directly with the MPEG-LA
consortium to determine appropriate H.264 licensing requirements for
your commercial app that requires the codec.
It may be that the commercial-use restrictions apply only to encoding
but not decoding, so depending on the specific features of your app the
patent restrictions may or may not apply in your specific use-case.
If you find that there's some sort of pass-through provision that can
apply to us from the OS vendor's patent license, perhaps with the
prohibition of commercial use by end-users as Final Cut Pro X has done,
please let us know.
--
Richard Gaskin
Fourth World Systems
Software Design and Development for the Desktop, Mobile, and the Web
____________________________________________________________________
Ambassador at FourthWorld.com http://www.FourthWorld.com
More information about the use-livecode
mailing list