mplayer, linux, video

w dziale Opera dla systemów Linux, Mac OS, FreeBSD oraz Solaris
Zajec napisał(a):

Nie jestem z tych, którym nie chce się przeszukać forum, ale mimo wszystko nie potrafię znaleźć tego, co mi potrzebne. Mam Mandrivę ze skonfigurowanym urpmi i chciałbym móc oglądać filmy na stronach www.

1) Zainstalowałem mplayerplugin (# urpmi mplayerplugin) dla Mozilli Firefox 1.0.6

2) Stworzyłem dowiązanie symboliczne do libxpcom.so (# ln -s /usr/lib/mozilla-firefox/libxpcom.so /usr/lib/)

3) Zrestartowałem Operę

Po tej operacji w opera:plugins zobaczyłem ogromną ilość mime-type i aplikacji im przyporządkowanym. Niestety po wejściu na stronę z trailerem z któregoś z filmów dostępnych na http://www.apple.com/trailers/ pojawia się tylko szare okienko.

Możecie poradzić, co w takiej sytuacji zrobić? Jak trzeba jakichś dodatkowych informacji - krzyczcie.

zielski napisał(a):

Originally posted by Zajec:


Możecie poradzić, co w takiej sytuacji zrobić? Jak trzeba jakichś dodatkowych informacji - krzyczcie.



U mnie podziałało przeładowanie strony. Ale ja instalowałem wtyczki troszkę inaczej :>

Zajec napisał(a):

Restart Opery, odświeżanie strony, czyszczenie cache - nie pomaga. Niestety.

tockar napisał(a):

Za Chiny nie potrafię zmusić mplayerplugin-a do działania pod Operą. Zmuszony jestem korzystać z Pluggera albo MozPluggera, ale daleko im do mplayerplugin.

A jak ktoś mi powie, jak w czymkolwiek odtworzyć pod Linuksem filmiki z wiadomosci.wp.pl to stawiam piwo.

d.i.z. napisał(a):

Kiedyś dawno temu udało mi się zmusić mplayerplugin do działania. Musiałem go skompilować z jakimiś magicznymi parametrami. Tylko za chiny nie pamiętam jakimi.

Pamiętam też, że dodawanie tych parametrów powodowało brak GUI w pluginie - trzeba było obsługiwać go z klawiatury. Może ta wskazówka coś pomoże przy szukaniu odpowiednich parametrów wink

Ooo, pewnie o to chodziło:

Originally posted by http://mplayerplug-in.sourceforge.net/faq.php:

How do I make mplayerplug-in work in Opera?(Not recommended)

Make sure that you have gecko-sdk 1.6 newer versions will not work properly with Opera
Download the source code then do these following commands in the source code directory:
./configure --enable-x [--with-gecko-sdk={path} ]
make
cp mplayerplug-in.so /usr/lib/opera/plugins
ln -s /usr/lib/mozilla/libxpcom.so /usr/lib




Trzeba jeszcze ściągnąć gecko-sdk.

tockar napisał(a):

Robiłem testy z różnymi wersjami mplayerplug-in i wygląda na to, że mplayerplug-in od wersji 3.0 w górę nie działa pod Operą. Ostatnią działającą u mnie wersją jest 2.85.
Konfiguracja inna niż --enable-x wywala Operę, a ta, która działa nie korzysta z GUI plugina. To bardzo ogranicza jego funkcjonalność i w zasadzie stawia na równi z innymi bezproblemowo działającymi pluginami do Opery, takimi jak Plugger.

Instalacja:
1. Ściągamy mplayerplug-in w wersji 2.85 (jest w załączniku) oraz gecko-sdk, dostępne tutaj.
2.

$ tar -zxvf gecko-sdk-i686-pc-linux-gnu-1.6.tar.gz
$ tar -zxvf mplayerplug-in-2.85.tar.gz

3a. W jednym z tematów forum Gentoo poświęconemu temu samemu problemowi piszą, żeby przed kompilacją wyedytować plik np_entry.cpp. Zastosowałem się do tego, a czy bez tego plugin działa już nie sprawdzałem. Zalecam więc wykonać ten krok.
$ cd mplayerplug-in/plugingate
$ vim np_entry.cpp

Vim czy jakikolwiek inny edytor, co kto lubi.

-> Na początku linii 108 i 109 dodajemy //. Wyglądać to ma tak:
// if(aNPNFuncs->size < sizeof(NPNetscapeFuncs)) 
//   return NPERR_INVALID_FUNCTABLE_ERROR;

3b. Główna część instalacji:
$ cd .. [powrót do katalogu głównego plugina]
$ ./configure --enable-x --with-gecko-sdk=/sciezka/do/gecko-sdk
$ make
# cp mplayerplug-in.so /usr/lib/opera/plugins

4. Trzeba jeszcze dowiązać plik libxpcom.so do /usr/lib. I tu uwaga!: plik ten nie zawsze znajduje się tam, gdzie pokazuje to np. oficjalna strona mplayerplug-ina. U mnie znajdował się on w /usr/lib/firefox.
$ locate libxpcom.so
# ln -s /sciezka/do/libxpcom.so /usr/lib

I to wszystko. Restart Opery (jeśli była włączona), ew. odświeżyć listę pluginów (Preferences -> Advanced -> Content -> Plug-in options -> Find new...). Opera powinna od razu wykryć nowy plugin.
5. Przetestować np. na http://apple.com/trailers/

Mam nadzieję, że o niczym nie zapomiałem. Testowane na najnowszym Weekly build (161), Ubuntu 6.04 "Dapper Drake".

PS. W temacie na forum Gentoo jeden z użytkowników pisze, że działa to również w wersji 3.15 (jak się domyślam, wtedy najnowszej). U mnie niestety, nie działało.
PS2. Opera z mplayerplug-in crashuje mi się na stronie http://www.apple.com/trailers/fox_searchlight/thankyouforsmoking/trailer/ , może ktoś potwierdzić?

mplayerplug-in-2.85.tar.gz

Zajec napisał(a):

Dzięki za instrukcje, ja jednak nie będę się raczej bawił w kompilacje korzystając na codzień z urpmi.

A wszystkich zainteresowanych zachęcam do dopisania się w temacie http://my.opera.com/community/forums/topic.dml?id=129512

adamos napisał(a):

niestety wywala błędy


g++ -c -Wall -g -O2 -g -O2 -DXP_UNIX -DMOZ_X11 -I/home/ag/mplayer/gecko-sdk -I/home/ag/mplayer/gecko-sdk/xpcom/include -I/home/ag/mplayer/gecko-sdk/nspr/include -I/home/ag/mplayer/gecko-sdk/string/include -I/home/ag/mplayer/gecko-sdk/plugin/include -I/home/ag/mplayer/gecko-sdk/java/include -DGECKOSDK_ENABLED -Iinclude -fPIC -DXPCOM_GLUE -DMOZILLA_STRICT_API -DX_ENABLED Source/plugin.cpp
In file included from Source/plugin.h:55,
from Source/plugin.cpp:37:
Source/plugin-setup.h:4:27: error: X11/Intrinsic.h: Nie ma takiego pliku ani katalogu
Source/plugin-setup.h:5:28: error: X11/StringDefs.h: Nie ma takiego pliku ani katalogu
include/pluginbase.h:55: warning: ‘class nsPluginInstanceBase’ has virtual functions but non-virtual destructor
/home/ag/mplayer/gecko-sdk/xpcom/include/nsISupportsBase.h:80: warning: ‘class nsISupports’ has virtual functions but non-virtual destructor
Source/nsIScriptableMplayerPlugin.h:25: warning: ‘class nsIScriptableWMPPlugin’ has virtual functions but non-virtual destructor
Source/nsIScriptableMplayerPlugin.h:120: warning: ‘class nsIScriptableMplayerPlugin’ has virtual functions but non-virtual destructor
/home/ag/mplayer/gecko-sdk/xpcom/include/nsIProgrammingLanguage.h:32: warning: ‘class nsIProgrammingLanguage’ has virtual functions but non-virtual destructor
/home/ag/mplayer/gecko-sdk/xpcom/include/nsIClassInfo.h:33: warning: ‘class nsIClassInfo’ has virtual functions but non-virtual destructor
Source/nsScriptablePeer.h:56: warning: ‘class nsClassInfoMixin’ has virtual functions but non-virtual destructor
Source/plugin-setup.h:109: error: ‘Widget’ does not name a type
Source/plugin-setup.h:169: error: variable or field ‘DrawUI’ declared void
Source/plugin-setup.h:169: error: ‘Widget’ was not declared in this scope
Source/plugin-setup.h:169: error: expected primary-expression before ‘*’ token
Source/plugin-setup.h:169: error: ‘instance’ was not declared in this scope
Source/plugin-setup.h:169: error: expected primary-expression before ‘char’
Source/plugin-setup.h:170: error: expected primary-expression before ‘int’
Source/plugin-setup.h:170: error: expected primary-expression before ‘int’
Source/plugin-setup.h:170: error: initializer expression list treated as compound expression
Source/plugin-setup.h:172: warning: ‘RedrawCB’ initialized and declared ‘extern’
Source/plugin-setup.h:172: error: variable or field ‘RedrawCB’ declared void
Source/plugin-setup.h:172: error: ‘Widget’ was not declared in this scope
Source/plugin-setup.h:172: error: ‘XtPointer’ was not declared in this scope
Source/plugin-setup.h:173: error: ‘XtPointer’ was not declared in this scope
Source/plugin-setup.h:173: error: initializer expression list treated as compound expression
Source/plugin.h:162: error: ‘Widget’ does not name a type
/home/ag/mplayer/gecko-sdk/xpcom/include/nsIServiceManager.h:40: warning: ‘class nsIServiceManager’ has virtual functions but non-virtual destructor
/home/ag/mplayer/gecko-sdk/xpcom/include/nsIMemory.h:54: warning: ‘class nsIMemory’ has virtual functions but non-virtual destructor
Source/plugin.cpp: In constructor ‘nsPluginInstance::nsPluginInstance(NPP_t*)’:
Source/plugin.cpp:189: error: ‘widget’ was not declared in this scope
Source/plugin.cpp: In member function ‘virtual NPError nsPluginInstance::SetWindow(NPWindow*)’:
Source/plugin.cpp:624: error: ‘widget’ was not declared in this scope
Source/plugin.cpp:626: error: ‘XtWindowToWidget’ was not declared in this scope
Source/plugin.cpp:629: error: ‘XtEventHandler’ was not declared in this scope
Source/plugin.cpp:629: error: ‘XtAddEventHandler’ was not declared in this scope
Source/plugin.cpp: In member function ‘virtual NPError nsPluginInstance::DestroyStream(NPStream*, NPError)’:
Source/plugin.cpp:1130: error: ‘widget’ was not declared in this scope
Source/plugin.cpp:1130: error: ‘DrawUI’ cannot be used as a function
Source/plugin.cpp: In member function ‘virtual int32 nsPluginInstance::Write(NPStream*, int32, int32, void*)’:
Source/plugin.cpp:1554: error: ‘widget’ was not declared in this scope
Source/plugin.cpp:1557: error: ‘DrawUI’ cannot be used as a function
Source/plugin.cpp:1583: error: ‘widget’ was not declared in this scope
Source/plugin.cpp:1586: error: ‘DrawUI’ cannot be used as a function
make: *** [plugin.o] Błąd 1

adamos napisał(a):

Mam libnspr4 było wymagane aby wogóle wykryło smile
ale śmieszny problemik mam jest dźwiek a obraz nie sad