Comments (9)
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.
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.
@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.
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.
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.
So... Maybe just have to remind required version of FFmpeg in INSTALL / README ?
from freshplayerplugin.
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.
@i-rinat We just need version. Can I test it instead of you?
from freshplayerplugin.
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)
- drm test works with intel but not Nvidia HOT 4
- 32 bit build error HOT 2
- [firefox] "[fresh] [error] n2p_call_ptac, NPN_Invoke failed (or there were no npp)" HOT 6
- Some webcams return green screen HOT 1
- Build failure HOT 5
- Missing include for sys/ioctl.h in src/ppb_video_capture.c HOT 1
- (question): use with other browsers still limited to the NPAPI? HOT 9
- using Chromebook flash for desktop Chrome HOT 2
- Fullscreen showing very small window HOT 5
- Chromebook's flash used by firefox works on test but fails in real life HOT 9
- freshwrapper crashing with Firefox 61 and ChromeOS's Flash HOT 2
- Is v0.3.10 production-ready? HOT 1
- asoundlib.h: No such file or directory HOT 4
- Wayland support? HOT 1
- Trouble on XWayland
- FreshPlugin as browser extension HOT 1
- libfreshplayer does not show up in Firefox 69.0.1 64bit HOT 9
- advice on fixing https://gitlab.com/Mis012/flashplayer-standalone to make it work with freshplayer HOT 9
- Does freshplayerplugin can be used a plugin on chromium[version:69] HOT 19
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from freshplayerplugin.