Announcement

Collapse
No announcement yet.

Firefox Enables FFmpeg Support By Default

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • #31
    Gusar

    That's interesting about the Cisco plugin but ffmpeg/libav is usally compiled against x264 and then you get the encoder too. But: there is not only one version of ffmpeg/libav around and if you don't compile it against the distro version it is very unlikely that you find a working install - do you really want to probe every possible versioned lib? However they could ship the binaries with Firefox from the Mozilla site - just like Kodi does. Kodi excluded the sources from main tree and downloads those on demand currently.
    Last edited by Kano; 11-16-2015, 01:49 PM.

    Comment


    • #32
      Originally posted by Kano View Post
      That's interesting about the Cisco plugin but ffmpeg/libav is usally compiled against x264 and then you get the encoder too.
      True. But two things:
      One, Cisco pays the h264 royalties. Who would pay them in the x264 case? And how would you regulate that the license is only valid for use of x264 inside of Firefox? It's a legal and logistical nightmare. Providing a Firefox-specific plugin is much simpler.
      And two, ffmpeg and/or x264 may not be around. The Cisco plugin always is, so WebRTC interoperability is guaranteed.

      Originally posted by Kano View Post
      do you really want to probe every possible versioned lib?
      That's exactly what they do. They support libavcodec sonames 53-56. ffmpeg-git has a 57 soname, so it's not supported currently, but I'm sure it will be once there's a ffmpeg release featuring that soname. So no matter what the distro ships, Firefox will be able to use it. From the runtime linker:
      Code:
      static const AvCodecLib sLibs[] = {
        { "libavcodec-ffmpeg.so.56", FFmpegDecoderModule<55>::Create, 55 },
        { "libavcodec.so.56", FFmpegDecoderModule<55>::Create, 55 },
        { "libavcodec.so.55", FFmpegDecoderModule<55>::Create, 55 },
        { "libavcodec.so.54", FFmpegDecoderModule<54>::Create, 54 },
        { "libavcodec.so.53", FFmpegDecoderModule<53>::Create, 53 },
        { "libavcodec.56.dylib", FFmpegDecoderModule<55>::Create, 55 },
        { "libavcodec.55.dylib", FFmpegDecoderModule<55>::Create, 55 },
        { "libavcodec.54.dylib", FFmpegDecoderModule<54>::Create, 54 },
        { "libavcodec.53.dylib", FFmpegDecoderModule<53>::Create, 53 },
      };
      The first one (libavcodec-ffmpeg) covers Debian. Further, even OSX (.dylib) is covered. And there's a patch somewhere in the Mozilla Bugzilla that adds Windows (.dll) into the mix.

      Comment


      • #33
        Do you know that the Cisco plugin is disabled by default on Debian system (with Iceweasel)? ffmpeg will be enabled by default, so I don't think that the Cisco plugin will be missed. Did not really expect THIS code, but if it works, why not.

        Comment


        • #34
          So any way to check if Firefox is using FFmpeg?

          Comment


          • #35
            Originally posted by Gusar View Post
            I have no need for gstreamer whatsoever
            your opinion is very important to us

            Comment


            • #36
              So am I understanding currently when it sounds like this adds a compile-time dependency on a non-free library instead of runtime dependency like when Firefox uses gstreamer?

              Comment


              • #37
                Originally posted by nanonyme View Post
                So am I understanding currently when it sounds like this adds a compile-time dependency on a non-free library instead of runtime dependency like when Firefox uses gstreamer?
                Where do you get the non-free part from, ffmpeg is LGPL with some small parts GPL. And the dependency is very much runtime, like I explained in post #26 there is a runtime linker.

                Comment


                • #38
                  just to note, ffmpeg supports all dem hardware thingies

                  https://trac.ffmpeg.org/wiki/HWAccelIntro

                  Comment

                  Working...
                  X