linphone-desktop package and OpenH264 codec

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

linphone-desktop package and OpenH264 codec

Bernhard Schmidt
Hi,

so good news first, I have uploaded the full linphone stack (4.4.x) and
linphone-desktop 4.2.5 to Debian unstable yesterday. If everything goes
well it will be included in the next stable release.

Testing it I have observed an issue with the H264 codec and I don't know
where to start. First of all, if I'm not mistaken we basically have
three options to get H264 encoding/decoding.

- msx264
  - would be the preferable solution since x264 is already in Debian,
but appears to be dormant at
https://gitlab.linphone.org/BC/public/msx264 and does not build with GCC-10
- msopenh264
  - needs OpenH264 sources which are not in Debian, since Debian
ftpmasters are really strict to avoid unclear/problematic licenses I
doubt we can get this into Debian any time soon, and I really don't have
the power to push this forward
- have linphone-desktop download the Cisco OpenH264 codec itself

The last option would be the preferred one. When I enable the slider in
the GUI it asks me to download the codec. The progress bar appears, a
success message appears, but the slider stays disabled.

The download is successful, there is a x86-64 library in
~/.local/share/linphone/codecs named libopenh264.so. Even in strace I
can just see that it opens the file, mmap() on the fd and closes it
again. Later there is a info message 'Loading "libopenh264.so'
symbols...", but that's it.

Since I'm not using video calls I'm not going to invest too much time.
But maybe there is an easy solution for this. Can anyone shed some light
on it how to debug this further?

Bernhard

_______________________________________________
Linphone-developers mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/linphone-developers
Reply | Threaded
Open this post in threaded view
|

Re: linphone-desktop package and OpenH264 codec

Greg Troxel

Bernhard Schmidt <[hidden email]> writes:

From looking at the OpenH264 site, I have to agree that ftpmasters made
the right call.

> - have linphone-desktop download the Cisco OpenH264 codec itself

I'm not 100% sure I understand, but:

Is that really  an ok thing to do, for a program in main?  That seems
like downloading non-Free code on the fly, which not only raises DFSG
issues, but also 1) how the download is checked (signature/hash)? and 2)
portability issues.

> The last option would be the preferred one. When I enable the slider in
> the GUI it asks me to download the codec. The progress bar appears, a
> success message appears, but the slider stays disabled.

It seems like if the plan is to use that, then the cisco openh264 code
should be in non-free as a packaged binary, and linphone depending on
it, and demoted to contrib from main.

Alternatively, some plugin arch for libphone, so that linphone proper is
Free and there is a non-free plugin that depeonds on linphone, not the
other way around.

There is also the issue of distributing a derived work under GPLv3 for which one
needs a patent license.  I have grown fuzzy on the details, but my
memory is that one simply can't distirbute such a work in any country
where the patent applies.

IANAL, TINLA!



_______________________________________________
Linphone-developers mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/linphone-developers

signature.asc (199 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: linphone-desktop package and OpenH264 codec

Bernhard Schmidt
Am 27.12.20 um 01:21 schrieb Greg Troxel:

Hi Greg,

>> - have linphone-desktop download the Cisco OpenH264 codec itself
>
> I'm not 100% sure I understand, but:
>
> Is that really  an ok thing to do, for a program in main?  That seems
> like downloading non-Free code on the fly, which not only raises DFSG
> issues, but also 1) how the download is checked (signature/hash)? and 2)
> portability issues.

I agree it makes me somewhat squirmy. I would prefer something that
could be shipped with Debian, which I think can only be msx264.

@belledonne: Is msx264 something that could be polished/still used or is
this absoletely deprecated? I guess the compiler warnings could be fixed
(one of them has been fixed in git as far as I can see), and if this is
just minor glue between mediastreamer2 and x264 it probably does not
need a lot of updates.

>
>> The last option would be the preferred one. When I enable the slider in
>> the GUI it asks me to download the codec. The progress bar appears, a
>> success message appears, but the slider stays disabled.
>
> It seems like if the plan is to use that, then the cisco openh264 code
> should be in non-free as a packaged binary, and linphone depending on
> it, and demoted to contrib from main.
>
> Alternatively, some plugin arch for libphone, so that linphone proper is
> Free and there is a non-free plugin that depeonds on linphone, not the
> other way around.
>
> There is also the issue of distributing a derived work under GPLv3 for which one
> needs a patent license.  I have grown fuzzy on the details, but my
> memory is that one simply can't distirbute such a work in any country
> where the patent applies.
>
> IANAL, TINLA!

Me neither :-)

But yes, thinking about it again I think the best option would be to
disable this downloading thing. If I understand
linphone-app/src/components/codecs/VideoCodecsModel.cpp correctly it is
downloading from a http-location without any verification.

Hoping for msx264...

Bernhard

_______________________________________________
Linphone-developers mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/linphone-developers
Reply | Threaded
Open this post in threaded view
|

Re: linphone-desktop package and OpenH264 codec

Greg Troxel

Bernhard Schmidt <[hidden email]> writes:

> But yes, thinking about it again I think the best option would be to
> disable this downloading thing. If I understand
> linphone-app/src/components/codecs/VideoCodecsModel.cpp correctly it is
> downloading from a http-location without any verification.
>
> Hoping for msx264...

I am not the least bit sure I understand, but it seems the biggest
problem is that the H.264 codec has serious patent issues, and there is
some notion that if you run the binary from Cisco you are covered by
their license.

  https://en.wikipedia.org/wiki/Advanced_Video_Coding

So it may be that H.264 is fundamentally incompataible with Free
Software.  Having source, and a binary, and being able to distribute the
source, and distribute and use the binary, but not being able to use a
binary compiled from the source is a fail.

That's why I suggested the notion of a package of cisco's binary in
non-free and a plugin for linphone, so as not to break the
free-software-ness of the basic linphone package.  Or really to unbreak
it, because downloading binaries at runtime is troubling.

It's great that linphone has VP8, as that appears to be Free compatible.


_______________________________________________
Linphone-developers mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/linphone-developers

signature.asc (199 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: linphone-desktop package and OpenH264 codec

Bernhard Schmidt
Am 29.12.20 um 15:56 schrieb Greg Troxel:

Hi,

>> But yes, thinking about it again I think the best option would be to
>> disable this downloading thing. If I understand
>> linphone-app/src/components/codecs/VideoCodecsModel.cpp correctly it is
>> downloading from a http-location without any verification.
>>
>> Hoping for msx264...
>
> I am not the least bit sure I understand, but it seems the biggest
> problem is that the H.264 codec has serious patent issues, and there is
> some notion that if you run the binary from Cisco you are covered by
> their license.
>
>    https://en.wikipedia.org/wiki/Advanced_Video_Coding
>
> So it may be that H.264 is fundamentally incompataible with Free
> Software.  Having source, and a binary, and being able to distribute the
> source, and distribute and use the binary, but not being able to use a
> binary compiled from the source is a fail.

Indeed, but somehow x264 seems to work around both source code license
(probably being a clean-room implementation) and the royalities. It has
been in Debian main for years.

https://tracker.debian.org/pkg/x264
https://en.wikipedia.org/wiki/X264

So getting msx264 into a usable shape would be the easiest way for Debian.

> It's great that linphone has VP8, as that appears to be Free compatible.

True, but most hardphones don't support it. Our yealink desktop phones
actually do (not tested yet), but the 2N door station only supports H264.

Bernhard

_______________________________________________
Linphone-developers mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/linphone-developers