ffmpeg place why?



  • I had my own script for solving ffmpeg and widevinecdm for my beard.
    I linked libffmpeg.so from /opt/browser-plugins/ffmpeg to Opera, to Vivaldi. Everything worked.
    But that's a thing of the past.
    Vivaldi recently hard hardcoded ffmpeg to /var/opt/vivaldi-snapshot/media-codecs-version_number.
    It was a bad idea.
    My script found a newer plugin but Vivaldi not willing to use.
    But it should be the least trouble. But I can't even link from Vivaldi libffmpeg.so to Opera, because with every new Vivaldi, the version number of ffmpeg may change. However, it works with it if I manually link there. But things complicated by the existence of the version number.



  • Hello there,

    we need to know your distro, Vivaldi version.
    Have you tried to install support to proprietary media?
    From the Vivaldi Help: https://help.vivaldi.com/article/html5-proprietary-media-on-linux/
    Let us know the test result.



  • @lamarca
    I'm sorry but I do not understand.
    I use Mageia Linux and the last version of Vivaldi-snapshot.
    The Vivaldi and Opera browsers not available in Mageia Repo.
    I wrote a script that I copied to cron.daily
    The my script checks to see if there is new Vivaldi.
    If it is found then download and install.
    So far, the libffmpeg.so file also has been downloaded by a script and placed in a custom location I specified. From there it is linked to the Vivaldi and Opera folders. It worked.
    Of course it still works, but it's in two places.
    Once there where my own script saves. /opt/browsers-plugin/ffmpeg/libffmpeg.so
    Second, there is where install Vivaldi.
    /var/opt/vivaldi snapshot/media-codecs-version-number.
    The Vivaldi is only willing to use the libffmpeg.so file if you are here.
    You can't be anywhere else.
    So you are not using the newer file downloaded by my script.
    In vain I link from /opt/browsers-plugin/ffmpeg/libffmpeg.so to /opt/ Vivaldi-snapshot.


  • Moderator

    @csablak said in ffmpeg place why?:

    Second, there is where install Vivaldi.
    /var/opt/vivaldi snapshot/media-codecs-version-number.
    The Vivaldi is only willing to use the libffmpeg.so file if you are here.

    Yes. That is as designed.

    Vivaldi uses environment var $LD_PRELOAD to load libs and predefined paths in startup vivaldi:

    test@debby:~$ grep LD_PRELOAD  /opt/vivaldi/vivaldi
      if [ -n "$LD_PRELOAD" ]; then
        export LD_PRELOAD="$LD_PRELOAD:/var/opt/vivaldi/media-codecs-$CODECS_VERSION/libffmpeg.so"
        export LD_PRELOAD="/var/opt/vivaldi/media-codecs-$CODECS_VERSION/libffmpeg.so"
      if [ -n "$LD_PRELOAD" ]; then
        export LD_PRELOAD="$LD_PRELOAD:$HERE/libffmpeg.so.${VIVALDI_VERSION%\.*\.*}"
        export LD_PRELOAD="$HERE/libffmpeg.so.${VIVALDI_VERSION%\.*\.*}"
      if [ -n "$LD_PRELOAD" ]; then
        export LD_PRELOAD="$LD_PRELOAD:$HOME/.local/lib/vivaldi/media-codecs-$CODECS_VERSION/libffmpeg.so"
        export LD_PRELOAD="$HOME/.local/lib/vivaldi/media-codecs-$CODECS_VERSION/libffmpeg.so"
    

    $HERE is the path of vivaldi startup script, here it is /opt/vivaldi/.

    Change your script or use the userdefined preload path for extra libs.


  • Moderator

    @csablak said in ffmpeg place why?:

    Vivaldi recently hard hardcoded ffmpeg to /var/opt/vivaldi-snapshot/media-codecs-version_number.
    It was a bad idea.

    Then report this as a bug and propose to @ruario (Vivaldi Linux dev) to add a extra path you need.



  • @Gwen-Dragon Thank you, Lilo 0_1539693388183_faint.gif


  • Vivaldi Team

    @csablak said in ffmpeg place why?:

    I had my own script for solving ffmpeg and widevinecdm for my beard.
    I linked libffmpeg.so from /opt/browser-plugins/ffmpeg to Opera, to Vivaldi. Everything worked.
    But that's a thing of the past.
    Vivaldi recently hard hardcoded ffmpeg to /var/opt/vivaldi-snapshot/media-codecs-version_number.
    It was a bad idea.

    It wasn't, I have been handling this issue for years both here and in my previous job at Opera, where I was the Linux team lead. Recently we have had a good run of over a year where you can get away with using older version. However, this is purely luck as much as anything, previously every other version caused major crashes or breakage if the versioning did not match exactly.

    You should not be Linking to any old versions. It should be a version that matches Chromium. Our old solution (and the solution that Opera still uses AFAIK) is to allow a range of versions but it is a range. You can't just use any arbitrary version because we know this goes badly wrong.

    The new system runs update-widevine and update-ffmpeg scripts on post install, which sets everything up for you. You should have to do nothing, everything is expected to work out of the box . If you are using an official package and these scripts are not being run successfully I would call that a bug and we should look at fixing it.

    In the mean time,

    I wrote a script that I copied to cron.daily

    You could just as easily have you script run these two update- scripts. This should have been clear from the help page.

    I would also like to correct something. It is not hardcoded to only /var/opt/vivaldi-snapshot/media-codecs-version_number. There are three possible locations it looks. Another possibility is to save your file or symlink within the main Vivaldi install directory, named as “libffmpeg.so.$MAJOR.$MINOR”, where “$MAJOR.$MINOR” represents the first and second parts of the Vivaldi version number, e.g. for Vivaldi version 2.9.1705.41 the startup wrapper will look for a file named “libffmpeg.so.2.9”. If this is found, it will be preloaded in preference to the bundled “lib/libffmpeg.so” and the variable VIVALDI_FFMPEG_FOUND will be set to NO before launching Vivaldi (thus disabling the warning message to the user).

    All of this is documented off a link from the help page that would have been presented to you when things were not setup correctly.


  • Vivaldi Team

    @Gwen-Dragon said in ffmpeg place why?:

    @csablak said in ffmpeg place why?:

    Vivaldi recently hard hardcoded ffmpeg to /var/opt/vivaldi-snapshot/media-codecs-version_number.
    It was a bad idea.

    Then report this as a bug and propose to @ruario (Vivaldi Linux dev) to add a extra path you need.

    There is already an extra path (2 more in fact). This can be seen from reading the startup wrapper snipped your linked above or for many users more easily from reading the help and the page linked from it.

    Also he should not need an extra path. For me the bug would be that this is not setup for him automatically. I am not expecting users of official packages to have to do anything. That is the point of switching to the new system.


  • Moderator

    @ruario I agree that adding extra path is not reasonable, the user has his own patched chromium-codecs installation and this cause the issue.


Log in to reply
 

Looks like your connection to Vivaldi Forum was lost, please wait while we try to reconnect.