Mit VLC 0.8.1 gehts nicht mehr unter Linux
-
- Interessierter
- Beiträge: 61
- Registriert: Donnerstag 24. Januar 2002, 22:37
Mit VLC 0.8.1 gehts nicht mehr unter Linux
Huete morgen habe ich meinem Debian Sid einen neuen VLC 0.8.1.1 verpasst. Leider geht jetzt der Movieplayer nicht mehr. Folgendes kommt auf der Konsole wenn ich einen Film auf der Box abspielen möchte (gestartet wird mit vlc --extraintf=http) :
---------------
peek=GET
received new request=GET /?control=stop HTTP/1.1
Host: 192.168.0.15:8080
Pragma: no-cache
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*
received new request
- proto=HTTP
- version=1
- msg=3
- url=/
- option name='Host' value='192.168.0.15:8080'
- option name='Pragma' value='no-cache'
- option name='Accept' value='image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*'
mvar_PlaylistSetNew: name=`pl'
sending answer
HTTP/1.1 200 OK
Content-type: text/html
Cache-Control: no-cache
Content-Length: 6541
peek=GET
received new request=GET /dboxstream HTTP/1.0
received new request
- proto=HTTP
- version=0
- msg=3
- url=/dboxstream
sending answer
HTTP/1.0 404 Not found
Content-Length: 187
-------------------------
Der letzte Absatz wiederholt sich laufend. Im Browser kann ich den VLC mit 127.0.0.1:8080 auch nicht mehr erreichen. Die Datei dboxfiles.html befindet sich wie immer im Verzeichniss /usr/share/vlc/http/admin/dboxfiles.html.
Ist in der neuen VLC Version etwas anders als bisher. Muß ich irgendwo etwas einstellen?
---------------
peek=GET
received new request=GET /?control=stop HTTP/1.1
Host: 192.168.0.15:8080
Pragma: no-cache
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*
received new request
- proto=HTTP
- version=1
- msg=3
- url=/
- option name='Host' value='192.168.0.15:8080'
- option name='Pragma' value='no-cache'
- option name='Accept' value='image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*'
mvar_PlaylistSetNew: name=`pl'
sending answer
HTTP/1.1 200 OK
Content-type: text/html
Cache-Control: no-cache
Content-Length: 6541
peek=GET
received new request=GET /dboxstream HTTP/1.0
received new request
- proto=HTTP
- version=0
- msg=3
- url=/dboxstream
sending answer
HTTP/1.0 404 Not found
Content-Length: 187
-------------------------
Der letzte Absatz wiederholt sich laufend. Im Browser kann ich den VLC mit 127.0.0.1:8080 auch nicht mehr erreichen. Die Datei dboxfiles.html befindet sich wie immer im Verzeichniss /usr/share/vlc/http/admin/dboxfiles.html.
Ist in der neuen VLC Version etwas anders als bisher. Muß ich irgendwo etwas einstellen?
-
- Neugieriger
- Beiträge: 16
- Registriert: Samstag 6. November 2004, 18:05
Hallo,
das Problem gibt es auch unter Windows.
Nach mehreren Versuchen habe ich festgestellt, daß nur der VLC 0.7.2 zur Zeit mit dem Movieplayer der Images richtig funktioniert.
Auch bei mir die gleiche Fehlermeldung.
Mein System Dbox2 Nokia Kabel 2xI Avia 500, Win98SE.
In den verschiedenen Foren wurde über diese Problematik schon mehrmals angesprochen.
Bisher kennt keiner die Lösung bis auf " Zurück zu VLC 0.7.2".
Ich glaube hier muß der Movieplayer in den Images angepasst werden.
Gruß
S.panzer
das Problem gibt es auch unter Windows.
Nach mehreren Versuchen habe ich festgestellt, daß nur der VLC 0.7.2 zur Zeit mit dem Movieplayer der Images richtig funktioniert.
Auch bei mir die gleiche Fehlermeldung.
Mein System Dbox2 Nokia Kabel 2xI Avia 500, Win98SE.
In den verschiedenen Foren wurde über diese Problematik schon mehrmals angesprochen.
Bisher kennt keiner die Lösung bis auf " Zurück zu VLC 0.7.2".
Ich glaube hier muß der Movieplayer in den Images angepasst werden.
Gruß
S.panzer
-
- Beiträge: 2
- Registriert: Montag 6. Dezember 2004, 00:41
Hallo Folks,
ich habe auch das gleiche Problem und ich habe mir die HTTP requests, die vom Movieplayer kommen noch etwas genauer angeschaut:
Jetzt kommts:
Andererseits sieht eine manuell generierte URL in --sout paramter des VLC auch etwas anders aus nämlich:
:sout=#transcode{vcodec=mp2v,vb=1024,scale=1.75}:duplicate{dst=std{access=http,mux=ts,url=hostname oder IP-Adresse:8080}}
also url=hostname oder IP-Adresse:8080
Was bedeutet das der Movieplayer einen fix in der URL Generierung benötigt.
Hat irgendjemand eine Idee? Insbesondere wäre interessant: muß VLC oder der Movieplayer gefixt werden?
Gruß
Chris
ich habe auch das gleiche Problem und ich habe mir die HTTP requests, die vom Movieplayer kommen noch etwas genauer angeschaut:
Dies ist die Anfrage nach dem Verzeichniss. Bis hierher alles ok.peek=GET
received new request=GET /admin/dboxfiles.html?dir=%2Fusr%2Flocal%2Fvideo%2F HTTP/1.1
Authorization: Basic YWRtaW46YWRtaW4=
Host: 192.168.10.31:8080
Pragma: no-cache
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*
received new request
- proto=HTTP
- version=1
- msg=3
- url=/admin/dboxfiles.html
- option name='Authorization' value='Basic YWRtaW46YWRtaW4='
- option name='Host' value='192.168.10.31:8080'
- option name='Pragma' value='no-cache'
- option name='Accept' value='image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*'
mvar_FileSetNew: name=`file' dir=`/usr/local/video'
sending answer
HTTP/1.1 200 OK
Content-type: text/html
Cache-Control: no-cache
Content-Length: 2811
Hier wird die Datei ausgewählt. Auch ok....
peek=GET
received new request=GET /?control=add&mrl=%2Fusr%2Flocal%2Fvideo%2FCondomshop%2Empg HTTP/1.1
Host: 192.168.10.31:8080
Pragma: no-cache
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*
received new request
- proto=HTTP
- version=1
- msg=3
- url=/
- option name='Host' value='192.168.10.31:8080'
- option name='Pragma' value='no-cache'
- option name='Accept' value='image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*'
mvar_PlaylistSetNew: name=`pl'
sending answer
HTTP/1.1 200 OK
Content-type: text/html
Cache-Control: no-cache
Content-Length: 6443
Jetzt kommts:
Hier passiert der Fehler, irgendwas stimmt mit der URL nicht, die der Movieplayer der dbox2 generiert, obwohl genau diese URL von der Windows Version von VLC 0.8.1 akzeptiert wird. Dies würde bedeuten das in VLC etwas faul ist.peek=GET
received new request=GET /?sout=%23transcode%7Bvcodec%3Dmp2v%2Cvb%3D1000%2Cwidth%3D480%2Cheight%3D576%7D%3Aduplicate%7Bdst%3Dstd%7Baccess%3Dhttp%2Cmux%3Dts%2Curl%3D%3A8080%2Fdboxstream%7D%7D HTTP/1.1
Host: 192.168.10.31:8080
Pragma: no-cache
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*
received new request
- proto=HTTP
- version=1
- msg=3
- url=/
- option name='Host' value='192.168.10.31:8080'
- option name='Pragma' value='no-cache'
- option name='Accept' value='image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*'
mvar_PlaylistSetNew: name=`pl'
sending answer
HTTP/1.1 200 OK
Content-type: text/html
Cache-Control: no-cache
Content-Length: 6443
peek=GET
received new request=GET /?control=play&item=0 HTTP/1.1
Host: 192.168.10.31:8080
Pragma: no-cache
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*
received new request
- proto=HTTP
- version=1
- msg=3
- url=/
- option name='Host' value='192.168.10.31:8080'
- option name='Pragma' value='no-cache'
- option name='Accept' value='image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*'
mvar_PlaylistSetNew: name=`pl'
[00000265] main private error: cannot bind socket
[00000265] main private error: cannot bind socket
[00000265] access_output_http private error: cannot listen on :8080
[00000264] stream_out_standard private error: no suitable sout access module for `http/ts://:8080/dboxstream'
[00000263] stream_out_duplicate private error: no destination given
[00000261] stream_out_transcode private error: cannot create chain
[00000260] main stream output error: stream chained failed for `transcode{vcodec=mp2v,vb=1000,width=480,height=576}:duplicate{dst=std{access=http,mux=ts,url=:8080/dboxstream}}'
[00000259] main input error: cannot start stream output instance, aborting
sending answer
HTTP/1.1 200 OK
Content-type: text/html
Cache-Control: no-cache
Content-Length: 6556
Andererseits sieht eine manuell generierte URL in --sout paramter des VLC auch etwas anders aus nämlich:
:sout=#transcode{vcodec=mp2v,vb=1024,scale=1.75}:duplicate{dst=std{access=http,mux=ts,url=hostname oder IP-Adresse:8080}}
also url=hostname oder IP-Adresse:8080
Was bedeutet das der Movieplayer einen fix in der URL Generierung benötigt.
Hat irgendjemand eine Idee? Insbesondere wäre interessant: muß VLC oder der Movieplayer gefixt werden?
Gruß
Chris
-
- Beiträge: 2
- Registriert: Montag 6. Dezember 2004, 00:41
Hallo nochmal,
ich habe zumindest einen Workaround für das Problem gefunden, eine richtige Lösung kann wahrscheinlich der Programmierer des VLC httpd anbieten.
Es scheint eine Abfrage auf Benutzung von SSL oder TLS im VLC httpd schiefzugehen. Wenn man 2 Zeilen Code in httpd.c von vlc 0.8.1 auskommentiert streamt der 0.8.1 wieder:
httpd.c:
...
if( ((unsigned)ptr->ai_addrlen) > sizeof( struct sockaddr_storage ) )
{
msg_Dbg( p_this, "socket address too big" );
continue;
}
/* verify if it already exist */
for( i = 0; i < httpd->i_host; i++ )
{
if( GetAddrPort (&httpd->host->sock) != i_port )
continue;
/* Cannot re-use host if it uses TLS/SSL */
/*******************/
/* There must be something wrong here. Although I am not using TLS in any way */
/* this 'if' statement becomes true and executes "continue". */
/* This leads to the proper host being skipped and later 'bind' to fail */
/* christopher.lang at plus.cablesurf.de commented out the next two lines. */
/* With these two lines removed vlc streaming works again under linux. */
/* I am sure this is only a workaround, but my vlc code knowledge is limited */
/* if( &httpd->host->p_tls != NULL )
continue; */
/*******************/
#ifdef AF_INET6
if( httpd->host->sock.ss_family == AF_INET6 )
{
const struct sockaddr_in6 *p_hsock, *p_sock;
...
Einfach die Abfrage nach p_tls auskommentieren und recompilieren. dann streamt er wieder.
Gruß
Chris
ich habe zumindest einen Workaround für das Problem gefunden, eine richtige Lösung kann wahrscheinlich der Programmierer des VLC httpd anbieten.
Es scheint eine Abfrage auf Benutzung von SSL oder TLS im VLC httpd schiefzugehen. Wenn man 2 Zeilen Code in httpd.c von vlc 0.8.1 auskommentiert streamt der 0.8.1 wieder:
httpd.c:
...
if( ((unsigned)ptr->ai_addrlen) > sizeof( struct sockaddr_storage ) )
{
msg_Dbg( p_this, "socket address too big" );
continue;
}
/* verify if it already exist */
for( i = 0; i < httpd->i_host; i++ )
{
if( GetAddrPort (&httpd->host->sock) != i_port )
continue;
/* Cannot re-use host if it uses TLS/SSL */
/*******************/
/* There must be something wrong here. Although I am not using TLS in any way */
/* this 'if' statement becomes true and executes "continue". */
/* This leads to the proper host being skipped and later 'bind' to fail */
/* christopher.lang at plus.cablesurf.de commented out the next two lines. */
/* With these two lines removed vlc streaming works again under linux. */
/* I am sure this is only a workaround, but my vlc code knowledge is limited */
/* if( &httpd->host->p_tls != NULL )
continue; */
/*******************/
#ifdef AF_INET6
if( httpd->host->sock.ss_family == AF_INET6 )
{
const struct sockaddr_in6 *p_hsock, *p_sock;
...
Einfach die Abfrage nach p_tls auskommentieren und recompilieren. dann streamt er wieder.
Gruß
Chris
-
- Neugieriger
- Beiträge: 4
- Registriert: Montag 3. Januar 2005, 15:12
-
- Neugieriger
- Beiträge: 4
- Registriert: Montag 3. Januar 2005, 15:12
Jetzt hatte ich Kopf aber er kompiliert nicht, wie siehts aus, kann mir bitte jemand das Paket irgendwie zur Verfügung stellen? http://www.apt-get.org gibt auch nicht wirklich was her.
Hier hauts ihn raus:
ffmpeg hab ich von deb ftp://ftp.nerim.net/debian-marillat/ unstable main
Danke!
Hier hauts ihn raus:
Code: Alles auswählen
gcc -Wsign-compare -Wall -pipe -o vlc src/vlc-vlc.o lib/libvlc.a ./modules/misc/memcpy/libmemcpymmx.a ./modules/video_chroma/libi420_rgb_mmx.a ./modules/video_chroma/libi422_yuy2_mmx.a ./modules/video_chroma/libi420_ymga_mmx.a ./modules/video_chroma/libi420_yuy2_mmx.a ./modules/misc/memcpy/libmemcpymmxext.a ./modules/misc/memcpy/libmemcpy3dn.a ./modules/codec/ffmpeg/libffmpeg.a -L/usr/local/lib -lrt -lpthread -ldl -lm -lavformat -lz -lavcodec -lm -lxml2
./modules/codec/ffmpeg/libffmpeg.a(libffmpeg_a-postprocess.o)(.text+0x339): In function `InitPostproc__ffmpeg':
: undefined reference to `pp_get_context'
./modules/codec/ffmpeg/libffmpeg.a(libffmpeg_a-postprocess.o)(.text+0x3c5): In function `PPQCallback':
: undefined reference to `pp_get_mode_by_name_and_quality'
./modules/codec/ffmpeg/libffmpeg.a(libffmpeg_a-postprocess.o)(.text+0x617): In function `PostprocPict__ffmpeg':
: undefined reference to `pp_postprocess'
./modules/codec/ffmpeg/libffmpeg.a(libffmpeg_a-postprocess.o)(.text+0x6f4): In function `ClosePostproc__ffmpeg':
: undefined reference to `pp_free_mode'
./modules/codec/ffmpeg/libffmpeg.a(libffmpeg_a-postprocess.o)(.text+0x702): In function `ClosePostproc__ffmpeg':
: undefined reference to `pp_free_context'
collect2: ld returned 1 exit status
Danke!
-
- Neugieriger
- Beiträge: 4
- Registriert: Montag 3. Januar 2005, 15:12
Offensichtlich ist das hier das Problem:
http://www.via.ecp.fr/via/ml/vlc/2003-12/msg00083.html
Fürs Archiv: ffmpeg mit --enable-pp und --enable-gpl neu kompilieren.
http://www.via.ecp.fr/via/ml/vlc/2003-12/msg00083.html
Fürs Archiv: ffmpeg mit --enable-pp und --enable-gpl neu kompilieren.
-
- Neugieriger
- Beiträge: 13
- Registriert: Montag 11. Oktober 2004, 15:18
http://snapshot.debian.net/FFL hat geschrieben:Hat hier jemand von euch ein deb der 0.80er, die noch funktioniert? Ich hab grad keinen Kopf mir zum selbst Kompilieren die ganzen Pakete zusammen zu suchen.
sollte helfen.
Gruss
Sven, der sich durch nen dist-upgrade das selbe Problem eingefangen hat
-
- Neugieriger
- Beiträge: 4
- Registriert: Montag 3. Januar 2005, 15:12
-
- Neugieriger
- Beiträge: 6
- Registriert: Sonntag 21. Juli 2002, 19:37
@ chrislang144:
Vielen dank für den workaround, funktioniert super bei mir. Auch wenn ich den richtigen Moment abpassen muss um die veränderte http.c-Datei, während "emerge" läuft, reinzukopieren
Zu schade, daß der Movieplayer der dbox nicht mehr weiterentwickelt wird, der VLC kann anscheinend mittleriweile auch Sprachwahl via http. Oder weiss zufällig jemand, ob daran mittlerweile wieder gearbeitet wird?
Vielen dank für den workaround, funktioniert super bei mir. Auch wenn ich den richtigen Moment abpassen muss um die veränderte http.c-Datei, während "emerge" läuft, reinzukopieren
Zu schade, daß der Movieplayer der dbox nicht mehr weiterentwickelt wird, der VLC kann anscheinend mittleriweile auch Sprachwahl via http. Oder weiss zufällig jemand, ob daran mittlerweile wieder gearbeitet wird?
-
- Interessierter
- Beiträge: 30
- Registriert: Mittwoch 26. Mai 2004, 23:25
schon etwas alt der thread, daher erstmal die frage: ich finde nix neueres, ist das noch aktuell? ich hab gestern vlc 0.8.1 installiert und besagtes problem, ist das mit 0.8.2 oder neuerem movieplayer schon behoben?
na egal, hier nun mein beitrag:
beispiel zum reproduzieren (ohne dbox, daher auch für videolan-programmierer geeignet):
"vlc --intf http" in einer shell starten
browser öffnen
"http://localhost:8080/?control=add&mrl= ... dvdrom@1:1" aufrufen.
(/dev/dvdrom mit dvdlaufwerk ersetzen und dvd einlegen)
"http://localhost:8080/?control=play&item=0" aufrufen
nun in die shell gucken, dort erscheint u.A.:
[00000340] main private error: cannot bind socket
[00000340] access_output_http private error: cannot listen on :8080
[00000339] stream_out_standard private error: no suitable sout access module for `http/ts://:8080/dboxstream'
[00000337] stream_out_transcode private error: cannot create chain
das heisst: vlc will auf port 8080 ein neues socket öffnen. das geht natürlich schief, da er dort sowieso schon lauscht. (das http-interface)
dies ist besagter fehler.
ändert man im browser in der stream output-zeile 8080 auf z.b. 8081
(#transcode{vcodec=mpgv,vb=1000,width=352,height=288,acodec=mpga,ab=192,channels=2}:standard{access=http,mux=ts,url=:8081/dboxstream})
kann man den stream prima auf "http://localhost:8081/dboxstream" empfangen.
falls das also absicht der videolan-leute und kein bug ist, könnte man den movieplayer so modifizieren, dass er den dboxstream einfach auf einem anderen port erwartet...
problem beseitigt.
ich sehe da aber noch ein künftiges problem beim dvd-abspielen:
der vlc generiert selber über die maske: dvdsimple:///dev/dvdrom@1:1 , der movieplayer dvdsimple:/dev/dvdrom@1:1 .
funktionieren tut /NOCH/ beides, aber wer weiss, vielleicht bald nicht mehr... ?!
na egal, hier nun mein beitrag:
genau. und es liegt am vlc, nicht am movieplayer.Es scheint eine Abfrage auf Benutzung von SSL oder TLS im VLC httpd schiefzugehen.
beispiel zum reproduzieren (ohne dbox, daher auch für videolan-programmierer geeignet):
"vlc --intf http" in einer shell starten
browser öffnen
"http://localhost:8080/?control=add&mrl= ... dvdrom@1:1" aufrufen.
(/dev/dvdrom mit dvdlaufwerk ersetzen und dvd einlegen)
"http://localhost:8080/?control=play&item=0" aufrufen
nun in die shell gucken, dort erscheint u.A.:
[00000340] main private error: cannot bind socket
[00000340] access_output_http private error: cannot listen on :8080
[00000339] stream_out_standard private error: no suitable sout access module for `http/ts://:8080/dboxstream'
[00000337] stream_out_transcode private error: cannot create chain
das heisst: vlc will auf port 8080 ein neues socket öffnen. das geht natürlich schief, da er dort sowieso schon lauscht. (das http-interface)
dies ist besagter fehler.
ändert man im browser in der stream output-zeile 8080 auf z.b. 8081
(#transcode{vcodec=mpgv,vb=1000,width=352,height=288,acodec=mpga,ab=192,channels=2}:standard{access=http,mux=ts,url=:8081/dboxstream})
kann man den stream prima auf "http://localhost:8081/dboxstream" empfangen.
falls das also absicht der videolan-leute und kein bug ist, könnte man den movieplayer so modifizieren, dass er den dboxstream einfach auf einem anderen port erwartet...
problem beseitigt.
ich sehe da aber noch ein künftiges problem beim dvd-abspielen:
der vlc generiert selber über die maske: dvdsimple:///dev/dvdrom@1:1 , der movieplayer dvdsimple:/dev/dvdrom@1:1 .
funktionieren tut /NOCH/ beides, aber wer weiss, vielleicht bald nicht mehr... ?!