Mit VLC 0.8.1 gehts nicht mehr unter Linux

Digital Recording
Hai1961
Interessierter
Interessierter
Beiträge: 61
Registriert: Donnerstag 24. Januar 2002, 22:37

Mit VLC 0.8.1 gehts nicht mehr unter Linux

Beitrag von Hai1961 »

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?
s.panzer
Neugieriger
Neugieriger
Beiträge: 16
Registriert: Samstag 6. November 2004, 18:05

Beitrag von s.panzer »

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
chrislang144
Beiträge: 2
Registriert: Montag 6. Dezember 2004, 00:41

Beitrag von chrislang144 »

Hallo Folks,

ich habe auch das gleiche Problem und ich habe mir die HTTP requests, die vom Movieplayer kommen noch etwas genauer angeschaut:
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
Dies ist die Anfrage nach dem Verzeichniss. Bis hierher alles 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
Hier wird die Datei ausgewählt. Auch ok.
Jetzt kommts:
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
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.

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
chrislang144
Beiträge: 2
Registriert: Montag 6. Dezember 2004, 00:41

Beitrag von chrislang144 »

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
Homar
Senior Member
Beiträge: 1278
Registriert: Mittwoch 5. September 2001, 00:00

Beitrag von Homar »

0.80 tut hier gute dienste, die .81 scheint auch noch andere fehler zu besitzten
FFL
Neugieriger
Neugieriger
Beiträge: 4
Registriert: Montag 3. Januar 2005, 15:12

Beitrag von FFL »

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.
Wäre echt supernett! Danke im Voraus!

MfG
FFL
Neugieriger
Neugieriger
Beiträge: 4
Registriert: Montag 3. Januar 2005, 15:12

Beitrag von FFL »

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:

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
ffmpeg hab ich von deb ftp://ftp.nerim.net/debian-marillat/ unstable main

Danke!
FFL
Neugieriger
Neugieriger
Beiträge: 4
Registriert: Montag 3. Januar 2005, 15:12

Beitrag von FFL »

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.
giggls
Neugieriger
Neugieriger
Beiträge: 13
Registriert: Montag 11. Oktober 2004, 15:18

Beitrag von giggls »

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.
http://snapshot.debian.net/

sollte helfen.

Gruss

Sven, der sich durch nen dist-upgrade das selbe Problem eingefangen hat
FFL
Neugieriger
Neugieriger
Beiträge: 4
Registriert: Montag 3. Januar 2005, 15:12

Beitrag von FFL »

Super, endlich ein Leidensgenosse ;)
Ich schau mal, vielen Dank!
joker667
Neugieriger
Neugieriger
Beiträge: 6
Registriert: Sonntag 21. Juli 2002, 19:37

Beitrag von joker667 »

@ 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?
hede
Interessierter
Interessierter
Beiträge: 30
Registriert: Mittwoch 26. Mai 2004, 23:25

Beitrag von hede »

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:
Es scheint eine Abfrage auf Benutzung von SSL oder TLS im VLC httpd schiefzugehen.
genau. und es liegt am vlc, nicht am movieplayer.
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. :roll:

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... ?!