Git Product home page Git Product logo

Comments (9)

i-rinat avatar i-rinat commented on August 13, 2024

While this is technically fixable issue, I think there is no much sense in doing that.

To fix it, I'd need to either add a lot of compatibility macros to accommodate all changes to FFmpeg APIs through years up until now, which is highly error-prone and will need a lot of testing. Or to implement dynamic loading for multiple FFmpeg major versions. Every path I see involves a lot of work. It's not hard, just cumbersome and time consuming.

And there is not much sense in even fixing something that cannot be used anymore. Flash browser plugin is essentially killed by Adobe. Major browsers removed plugin code. With two sides missing, what compatibility layer is for? Big sites moved away from Flash years before the plugin itself was EOLed.

If you use freshplayerplugin, you probably are using some older browser, which if uses FFmpeg libraries, expects some older versions. You best bet is to compile FreshPlayerPlugin against those older versions of FFmpeg and just keep those older FFmpeg binaries. I'd suggest going with the newest version of FFmpeg which a browser you'll be using will load. That way you'll have only one set of FFmpeg libraries loaded.

from freshplayerplugin.

i-rinat avatar i-rinat commented on August 13, 2024

Oh, by the way you may just turn hardware decoding support off during configure stage.
Add -DWITH_HWDEC=OFF to the cmake invocation line. (For example, cmake -DWITH_HWDEC=OFF ..)

from freshplayerplugin.

proxy-m avatar proxy-m commented on August 13, 2024

@i-rinat You can clone/fork preferred ffmpeg version as "public archive" and add it as dep to gitmodules. (But build process may be specific and slow.)

from freshplayerplugin.

i-rinat avatar i-rinat commented on August 13, 2024

You can clone/fork preferred ffmpeg version as "public archive" and add it as dep to gitmodules

Yeah, it's possible to even create a custom stripped-down version of FFmpeg libraries that only support selected features with modified ABI to avoid clashes with the distro-provided FFmpeg libraries. I just do not understand why even it's needed in the first place.

It's impossible to use Flash plugin with the current versions of Firefox or webkitgtk-based browsers, as they thrown away plugin support code. Most of popular enough sites even removed Flash versions completely. But let's assume there are some sites that still require Flash to work. Most probably, users will run some compartmentalized, older version of Firefox. Most probably that "container" will contain some older libraries that older browser builds required and which are no longer available in current distributions. For example, it you want to run Opera 12, you'll need already-removed-from-almost-all-distros Gstreamer 0.10. So... if users already carry older libraries, why not add older FFmpeg libraries to the container? And on top of that, older Firefox versions can't load FFmpeg 5.0 anyway, so why bother adding compatibility with FFmpeg 5.0 to the plugin?

from freshplayerplugin.

ROBERT-MCDOWELL avatar ROBERT-MCDOWELL commented on August 13, 2024

personally I use the browser "MyPal"
https://www.mypal-browser.org/download.html
https://github.com/Feodor2/Mypal68/
or "Centaury" from the same author but didn't find the link anymore.

from freshplayerplugin.

proxy-m avatar proxy-m commented on August 13, 2024

So... Maybe just have to remind required version of FFmpeg in INSTALL / README ?

from freshplayerplugin.

i-rinat avatar i-rinat commented on August 13, 2024

have to remind required version of FFmpeg in INSTALL

This will require preliminary testing and validation, which is quite time-consuming and cumbersome. Although I understand that this is probably useful to somebody, I just can't bring myself to actually do it. I'm not using this code anymore, so there is no real incentive to actually fix the issue for me. And as such, it's highly unlikely I will ever fix anything here. There is a pull request that is more than two and a half years old now, and I still did not address that issue. So to be real, the FreshPlayerPlugin project is dead.

from freshplayerplugin.

proxy-m avatar proxy-m commented on August 13, 2024

@i-rinat We just need version. Can I test it instead of you?

from freshplayerplugin.

proxy-m avatar proxy-m commented on August 13, 2024

Custom ffmpeg build available on Xubuntu 16.04 (gcc 5.4) ...

FFmpeg 1.2.12 "Magic"

1.2.12 was released on 2015-02-12. It is the latest stable FFmpeg release from the 1.2 release branch, which was cut from master on 2013-03-07. Amongst lots of other changes, it includes all changes from ffmpeg-mt, libav master of 2013-03-07, libav 9 as of 2013-03-07.

It includes the following library versions:

libavutil      52. 18.100
libavcodec     54. 92.100
libavformat    54. 63.104
libavdevice    54.  3.103
libavfilter     3. 42.103
libavresample   1.  1.  0
libswscale      2.  2.100
libswresample   0. 17.102
libpostproc    52.  2.100
sudo apt-get remove ffmpeg libavcodec-dev libavcodec-ffmpeg56 libavutil-ffmpeg54 libswresample-ffmpeg1 libavdevice-ffmpeg56 libavutil-dev libswresample-dev gstreamer1.0-libav gstreamer1.0-plugins-bad libavfilter-ffmpeg5 libavformat-ffmpeg56 libpostproc-ffmpeg53

sudo apt-get install yasm libpulse-dev libasound2-dev

sudo apt-get install  ragel libssl-dev libglib2.0-dev libpango1.0-dev libgl1-mesa-dev libevent-dev libgtk2.0-dev libxrandr-dev libxrender-dev  libxcursor-dev libv4l-dev libgles2-mesa-dev  libva-dev libvdpau-dev libdrm-dev libicu-dev

mkdir -p ~/Solutions

cd ~/Solutions

wget https://ffmpeg.org/releases/ffmpeg-1.2.12.tar.bz2
... extract it
cd ffmpeg-1.2.12
./configure --enable-libpulse --enable-indev=alsa,pulse,oss,fbdev --enable-outdev=alsa,pulse,oss,fbdev 
make -j2
sudo make install

cd ~/Solutions

git clone https://github.com/proxy-m/freshplayerplugin.git
cd freshplayerplugin
mkdir build
cd build
cmake -DWITH_HWDEC=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo ..
make -j2
sudo make install

It builds firstly with some errors on headers... So fix it manually #define HAVE_AVVDPAUContext on vdpau.h before typedef struct AVVDPAUContext ...

geany ~/Solutions/freshplayerplugin/src/ppb_video_decoder.c:46 /usr/local/include/libavcodec/vdpau.h:71 &

from freshplayerplugin.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.