Movieplayer und Performance CPU/Netzwerk

Das Original Benutzerinterface Neutrino-SD incl. zapit, sectionsd, yWeb etc...
chrisg71
Interessierter
Interessierter
Beiträge: 48
Registriert: Samstag 28. Juni 2003, 08:55

Movieplayer und Performance CPU/Netzwerk

Beitrag von chrisg71 »

Hallo!

Nicht schimpfen, aber irgendwie bringt mich die Suchfunktion hier nicht weiter. Über 100 Threads mit Titeln, die nicht viel sagen.

Ich hab folgendes Problem.

VLC läuft bei mir auf nem PIII-500 mit 380MB Ram und Redhat 9. Beim Abspielen von gestreamten *.vob habe ich ne CPU last von etwa 95%.

Beim spielen der Streams über den Movieplayer und VLC bekomme ich immer nur kurze Sequenzen (ca. 5 sec) und dann wieder "buffering", die netzlast ist allerdings sehr gering. Also liegt's wohl am Server. Die Datenraten habe ich neu eingestellt, ...

TS Streams laufen über nen NFS Mount absolut perfekt. Über CIFS mit ner Menge ruckler. Der CIFS-Bug vom Movieplayer ist bekannt. (@AlexW hattest Du nicht mal gesagt, dass CIFS genauso perfomant sei, wie NFS?)
TS Streams über VLC laufen bei mir weder lokal, noch über die Box.

Was macht VLC eigentlich ... produziert der TS Streams und schickt die dann an den Movieplayer??

Also eigentlich will ich ja nur aufnehmen und das dann wiedergeben, mehr nicht.

Was tun??

Gruß
ChrisG
--
Nokia Kabel, HEAD vom 16.9.03
Nokia Kabel
AlexW Base 1.6 HEAD Snapshot 26.06.03 7:26
UCode: built-in
Zwen
Developer
Beiträge: 867
Registriert: Mittwoch 14. August 2002, 19:50

Re: Movieplayer und Performance CPU/Netzwerk

Beitrag von Zwen »

chrisg71 hat geschrieben:VLC läuft bei mir auf nem PIII-500 mit 380MB Ram und Redhat 9. Beim Abspielen von gestreamten *.vob habe ich ne CPU last von etwa 95%.
Welche VLC Version ?
TS Streams laufen über nen NFS Mount absolut perfekt. Über CIFS mit ner Menge ruckler. Der CIFS-Bug vom Movieplayer ist bekannt. (@AlexW hattest Du nicht mal gesagt, dass CIFS genauso perfomant sei, wie NFS?)
Da gibts kein Bug ! Wenn CIFS bei dir nicht performant läuft, dann musst du ggf. an den Mount-Options drehen...
Was macht VLC eigentlich ... produziert der TS Streams und schickt die dann an den Movieplayer??
Genau das - Umwandlung in TS UND ggf. nen recode auf mpeg1 falls die dbox das Quellformat nicht unterstützt, bzw die Bitrate zu hoch fürs Netzwerk ist.
Also eigentlich will ich ja nur aufnehmen und das dann wiedergeben, mehr nicht.
Wieso dann VOB ????
probiers mal mit .mpg, dann ist Box-Last auch geringer...

Zwen
chrisg71
Interessierter
Interessierter
Beiträge: 48
Registriert: Samstag 28. Juni 2003, 08:55

Re: Movieplayer und Performance CPU/Netzwerk

Beitrag von chrisg71 »

Welche VLC Version ?
0.6.2
Da gibts kein Bug ! Wenn CIFS bei dir nicht performant läuft, dann musst du ggf. an den Mount-Options drehen...
An den Optionen hab ich schon gedreht. rsize und wsize von 16384
Irgendwie steht der Bug aber noch in der Movieplayer-Readme
Also eigentlich will ich ja nur aufnehmen und das dann wiedergeben, mehr nicht.
Wieso dann VOB ????
probiers mal mit .mpg, dann ist Box-Last auch geringer...
Ich will natürlich möglichst wenig Aufwand haben. Die *.vob kommt vom sserver. Ist dann doch eigentlich ne *.mpg, oder?

Gruß
C.
MadMaxx
Interessierter
Interessierter
Beiträge: 37
Registriert: Donnerstag 14. November 2002, 21:06

Beitrag von MadMaxx »

Hallo C.,

ich kann das bestaetigen, spiele ich die vob-files mit vlc ab, erhalte ich eine CPU-Last ~95%, spiele ich jedoch mpgs ab, erhalte ich 23% Last. Zudem scheint diese enorme Last nicht durch das transkodieren auf TS zu kommen, denn ich habe die Dateien lokal als Mpeg PS abgespielt. Meiner Meinung nach ist das also ein direktes Problem von VLC (0.62/0.63 getestet). Was ich nicht verstehe ist, dass ich bisher immer dachte vobs und mpegs unterscheiden sich nur im header, wer klärt mich auf?

Gruesse
MadMaxx
mpanczyk
Interessierter
Interessierter
Beiträge: 42
Registriert: Samstag 4. Oktober 2003, 19:46

Beitrag von mpanczyk »

Hi,

auch ich habe die Puffern Probleme mit dem Abspielen von VOB's über den Movieplayer (Nokia Avia500 Box) . Das Aufnehmen mit ucrec klappt ohne jegliche Aussetzer, dann mit mkdvd die VOB's erstellt.

Spiele ich die VOB's mit VLC (0.62) nur lokal auf dem Linux PC ab (Athlon 2000) ist die Prozessorlast kaum sichtbar und ohne Probleme. Starte ich die VOB Datei jedoch über den Movieplayer geht die Prozessorlast auf 100% und alle 5 bis 10 Sekunden kommt das Puffern Fenster. Das Netzwerk ist OK, habe es erst über einen Switch gemacht, jetzt aber die dbox direkt an eine seperate Netzwerkkarte des Linux Servers gehängt (was jedoch keine Veränderung gebracht hat).

Da ich derzeit hier nicht wirklich weiterkomme werde ich wohl auch erst mal auf TS Streams umstellen. Wer kann mir denn ein Programm empfehlen (linux, möglich Kommandozeile) mit dem ich aus den Elementary stream eine TS Datei erzeugen kann??

Danke im Voarus / Matthias
gagga
Senior Member
Beiträge: 782
Registriert: Dienstag 25. Februar 2003, 21:35

Beitrag von gagga »

Seid Ihr sicher, daß auf dem PC keine festplattenintensiven Anwendungen laufen? (Filesharingetc.). Es liegt nämlich definitiv an der Konfiguration des PC.
MadMaxx
Interessierter
Interessierter
Beiträge: 37
Registriert: Donnerstag 14. November 2002, 21:06

Beitrag von MadMaxx »

Hallo Gagga,

ich habe bei meinen Experimenten alle anderen Anwendungen gekillt, und der Task-Manager zeigt mir eine CPU-Last von 90% an, so dass ich davon ausgehe, dass nicht der traffic auf der Platte sondern wirklich der Prozessor ausgelastet ist. Desweiteren habe ich dasselbe Experiment mit vob-files sowohl von DVD als auch von HD durchgeführt und in beiden Faellen das gleiche Resultat erhalten. Vielleicht liegt es ja auch an meiner Konfiguration: Epox mainboard mit Athlon 1800, Highpoint ATA100-Raid, NEC1100A.

Gruesse
MadMaxx
mpanczyk
Interessierter
Interessierter
Beiträge: 42
Registriert: Samstag 4. Oktober 2003, 19:46

Beitrag von mpanczyk »

Hi Gagga,

wenn ich das hier teste ist auf dem PC mit Sicherheit gar nichts los. Sobald der Prozess vom Movieplayer gestartet wird geht die Prozessorlast auf 100% und bleibt da bis es beendet wird.

Es laufen natürlich zig services aber die produzieren in dem Augenblick alle 0 Last. Wenn ich mit udrec streame kann ich auf dem PC noch einem Megadownload machen, browsen und Dateien fröhlich kopieren, das ist völlig egal. Warum braucht VLC soviel Power wenn er zur dbox streamed?

Bye / Matthias
Zwen
Developer
Beiträge: 867
Registriert: Mittwoch 14. August 2002, 19:50

Beitrag von Zwen »

MadMaxx hat geschrieben:ich kann das bestaetigen, spiele ich die vob-files mit vlc ab, erhalte ich eine CPU-Last ~95%, spiele ich jedoch mpgs ab, erhalte ich 23% Last. Zudem scheint diese enorme Last nicht durch das transkodieren auf TS zu kommen, denn ich habe die Dateien lokal als Mpeg PS abgespielt. Meiner Meinung nach ist das also ein direktes Problem von VLC (0.62/0.63 getestet). Was ich nicht verstehe ist, dass ich bisher immer dachte vobs und mpegs unterscheiden sich nur im header, wer klärt mich auf?
Ich hab das glaub schon ein paar mal beschrieben, aber egal...
Es ist so, dass die Box bestimmt, ob der VLC auf dem Server ein Video (bzw. A/V) File dass er an die Box schickt vorher umwandeln soll, oder nicht. Dabei ist die Umwandlung in TS nicht so wild das ezeugt eher weniger CPU Last. Viel stärker schlägt hier die Umwandlung nach mpeg1 zu buche (das sogn. recode oder transcode) ...
Die Box kann ja nur mpeg2 und mpeg1 decodieren, deswegen muss der VLC andersartige Videos (z.B. jegliche Art von AVI) vorher in mpeg umwandln. Da es leider keinen gpl mpeg2 encoder gibt, kann der VLC nur nach mpeg1 umwandeln.
Jetzt gibt es aber auch mpeg2 dateien, die aufgrund hoher Bitraten, nicht dafür geeiget sind , direkt an die Box geschickt zur werden, wie z.B. DVD die ja Sspitzenrate von über 9mbit/s haben. Dazu kommt dann noch die Audio-Bitrate, da ist dann das 10 mit/s Netzwerkinterface überlastet. Deswegen ist es nötig auch einige mpeg2 Dateien zu "transkodieren" (umwandeln in mpeg1). Der movieplayer macht das z.Zt. ganz einfach über die Dateiendung das Videos (einfachste Lösung, mehr arbeit ist da i.mom. nicht investiert worden). Bei der Endung .mpg/.mpeg/m2p gehen wir davon aus, dass es sich um einen über die dbox gestreamten Video handelt. Selbiger hat also logischerweise Bitraten, die über das 10mbit/s Netzwerkinterface auch wieder vom Server zur Box übetragbar sind.
Bei der Endung .vob gehen wir davon aus, dass es sich um DVD Quellmaterial handelt, dass nicht 1:1 an die Box gesendet werden kann, deswegen werden VOB's vorher umgewandelt. Das benötigt dann aber einiges an Rechenzeit, weswegen die vobs eine ohe CPU Last auf dem Server erzeugen und .mpg's eher weniger. Wie schon öfters erwähnt , scheint die Version 0.63... des VLC performanter beim transcodieren zu sein als die 0.62, d.h. mit 0.63 hat man i.d.R. weniger CPU - Belastung.

Zwen
MadMaxx
Interessierter
Interessierter
Beiträge: 37
Registriert: Donnerstag 14. November 2002, 21:06

Beitrag von MadMaxx »

Hi Zwen,

danke für die Aufklärung, wie ich in der Zwischenzeit herausgefunden habe, scheinbt die erhebliche CPU-Last weitgehend von den Codecs mp4v und mpga, die unter den stream-Ausgabe Parametern selektiert werden, hervorgerufen und ich gehe nach Deiner Antwort davon aus, dass es sich bei diesen um die erwähnten Codecs handelt, die die vobs in MPEG1 transkodieren. Da ich, wie sicherlich viele andere auch, die per dbox aufgenommenen Filme auf einer DVD archiviere, waere es sicherlich interessant, wenn man im movieplayer eine alternative option vorsehen koennte, in der man das transkodieren der vobs disablen kann. Oder den Auswahlalgorithmus verfeinert, indem man evtl header-Informationen conditional auswertet, was meinst Du? Abgesehen davon, gibt es eine Möglichkeit das Transkodieren zu unterbinden?

Gruesse
MadMaxx
mpanczyk
Interessierter
Interessierter
Beiträge: 42
Registriert: Samstag 4. Oktober 2003, 19:46

Beitrag von mpanczyk »

Zwen, you made my day!!!

Also erst mal Danke für die Erklärung wie die Dbox entscheidet welchen Stream sie haben möchte. Und mit dieser Info ist die Welt plötzlich ganz einfach. Man muss nur die VOB Datei oder auch die erzeugte Image Datei nach mpg umbenennen und schon hat man den Mechanismus ausgehebelt. VLC ist es egal wie die Datei heisst, es prüft den Stream und entscheidet was zu tun ist. Die Dbox meint das sie das mpg File ohne umcodieren empfangen kann, Voila. Da ich ja weiss welche Dateien ich selbst aufgenommen habe und dann über den Movieplayer wieder abspielen will ist demnach auch klar das die Datenrate nicht zu hoch ist.

Unter Linux einfach einen Sym-Link anlegen und diesen <Film>.mpg benennen und schon schläft meine CPU während ich den Filem in bester Qualität über den Movieplayer anschaue. Das klappt mit von mkdvd erstellten Vob und Img Dateien nach meiner ersten kurzen Tests problemlos. Der Puffern Dialog ward niemehr gesehen.

Also nochmals tausend Dank, besser kann es wirklich nicht sein.
Bye / Matthias