Intel QSV H.264 codec for AVFoundation and DirectShow

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

Intel QSV H.264 codec for AVFoundation and DirectShow

Tiemo Hollmann TB
Hello,

I made some tests with LC 8.1.0 dp1 to find a video codec solution, as a
replacement for QuickTime which fits for both platforms windows and OS X.

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?

 

Thanks

Tiemo

 

 

 

_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: Intel QSV H.264 codec for AVFoundation and DirectShow

Richard Gaskin
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
  ____________________________________________________________________
  [hidden email]                http://www.FourthWorld.com

_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: Intel QSV H.264 codec for AVFoundation and DirectShow

Warren Samples
In reply to this post by Tiemo Hollmann TB
On 07/04/2016 04:43 AM, Tiemo Hollmann TB wrote:
> 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)


Tiemo,

x264 is only an encoder and does not need to be installed on a client
machine to enable playback if that's your concern. Whether or not the
videos are compatible will depend on thoughtful selection of encoding
options. In this regard x264 offers almost unlimited opportunity to
experiment (glass half full) and choose badly (glass half empty).
<http://www.videolan.org/developers/x264.html> The Intel encoder has the
advantage of using the gpu, where applicable, to accelerate encoding. If
you've found something that works, it wouldn't be a bad decision to have
a celebratory beverage of your choice and think about something else!

Warren

_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

AW: Intel QSV H.264 codec for AVFoundation and DirectShow

Tiemo Hollmann TB
In reply to this post by Richard Gaskin
Hi Richard,

thank you for your profund informations and helpful links.
I wasn't aware of this complex matter. I have to think about if I want to
let sleeping dogs lie.

Tiemo


-----Ursprüngliche Nachricht-----
Von: use-livecode [mailto:[hidden email]] Im Auftrag
von Richard Gaskin
Gesendet: Montag, 4. Juli 2016 17:14
An: [hidden email]
Betreff: Re: Intel QSV H.264 codec for AVFoundation and DirectShow

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
  ____________________________________________________________________
  [hidden email]                http://www.FourthWorld.com

_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

AW: Intel QSV H.264 codec for AVFoundation and DirectShow

Tiemo Hollmann TB
FYI
I asked Sorenson Media, whos video compressor I am using, if I have to pay
license fees for the H.264 codec for encoding videos with Sorenson squeeze
for a commercial product. They answered to me:

" No, you do not need to pay any license fees to use any codecs included in
Squeeze. Sorenson Media pays any license fees necessary for all the codecs
contained in Squeeze. Once you have encoded your video with a licensed
product, like Squeeze, you will never need to pay any licensing fees again."

Tiemo


-----Ursprüngliche Nachricht-----
Von: use-livecode [mailto:[hidden email]] Im Auftrag
von Tiemo Hollmann TB
Gesendet: Dienstag, 5. Juli 2016 09:15
An: 'How to use LiveCode' <[hidden email]>
Betreff: AW: Intel QSV H.264 codec for AVFoundation and DirectShow

Hi Richard,

thank you for your profund informations and helpful links.
I wasn't aware of this complex matter. I have to think about if I want to
let sleeping dogs lie.

Tiemo


-----Ursprüngliche Nachricht-----
Von: use-livecode [mailto:[hidden email]] Im Auftrag
von Richard Gaskin
Gesendet: Montag, 4. Juli 2016 17:14
An: [hidden email]
Betreff: Re: Intel QSV H.264 codec for AVFoundation and DirectShow

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
  ____________________________________________________________________
  [hidden email]                http://www.FourthWorld.com

_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: AW: Intel QSV H.264 codec for AVFoundation and DirectShow

Mark Waddingham-2
On 2016-07-07 09:16, Tiemo Hollmann TB wrote:

> FYI
> I asked Sorenson Media, whos video compressor I am using, if I have to
> pay
> license fees for the H.264 codec for encoding videos with Sorenson
> squeeze
> for a commercial product. They answered to me:
>
> " No, you do not need to pay any license fees to use any codecs
> included in
> Squeeze. Sorenson Media pays any license fees necessary for all the
> codecs
> contained in Squeeze. Once you have encoded your video with a licensed
> product, like Squeeze, you will never need to pay any licensing fees
> again."

This is what I would expect.

If you produce and distribute a program which includes an H.264
compressor or decompressor then you need to pay patent license fees (in
actual fact, I suspect even if you don't distribute said program, and
use it to generate compressed video, you still need to pay patent
license fees).

So, if you use a third-party product you have bought (like Squeeze), and
OS included codecs to playback the video (like AVFoundation and
DirectShow used in LiveCode) then that has already been taken care of
for you.

In regards to the 'stepping' - it might worth asking Sorenson (who sound
very helpful!) about that. In particular with regards DirectShow. Having
a key frame every frame I'd have thought would vastly reduce the effacy
of compression - so I wonder if there's some other tricks to encoding
which would let it work in DirectShow, the way you want.

Alternatively, if you can find an open source program which *does* allow
stepping through H.264 videos via DirectShow on Windows then let us know
and we can see if it is possible to make DirectShow do that without
special encoding options. (After all, if AVFoundation lets you do it for
an arbitrary H.264 encoded video, then you'd think it would be possible
for DirectShow to; on the other hand, AVFoundation I think is newer and
perhaps 'better' than DirectShow due to that, so it is very hard to
say!).

Warmest Regards,

Mark.

--
Mark Waddingham ~ [hidden email] ~ http://www.livecode.com/
LiveCode: Everyone can create apps

_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: AW: Intel QSV H.264 codec for AVFoundation and DirectShow

Richard Gaskin
In reply to this post by Tiemo Hollmann TB
Tiemo Hollmann wrote:

 > FYI
 > I asked Sorenson Media, whos video compressor I am using, if I have
 > to pay license fees for the H.264 codec for encoding videos with
 > Sorenson squeeze for a commercial product. They answered to me:
 >
 > " No, you do not need to pay any license fees to use any codecs
 > included in Squeeze. Sorenson Media pays any license fees necessary
 > for all the codecs contained in Squeeze. Once you have encoded your
 > video with a licensed product, like Squeeze, you will never need to
 > pay any licensing fees again."

That would seem reasonable.

My earlier comment was based around the misunderstanding that you were
making software that included the codec.  If you're just using other
people's software then of course their EULA describes their software's use.

It's nice to see that Sorensen has paid the extra multi-million dollar
fee for their customers' commercial use that Apple didn't for Final Cut Pro.

--
  Richard Gaskin
  Fourth World Systems
  Software Design and Development for Desktop, Mobile, and Web
  ____________________________________________________________
  [hidden email]        http://www.FourthWorld.com


_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode