'livedir' ist ein nie fertiggewordenes Experiment, welches auch gar nix Sinnvolles tut, deshalb als "Luft" zu betrachten ist.Spooky hat geschrieben:@gmo18t
Beim Zusammenbauen der aktuellen Version von streamer fürs NSLU2 ist mir aufgefallen, dass livedir nicht mehr automatisch mitcompiliert wird , dafür aber remuxts. Laut dem beiliegende Makefile soll aber livedir und nicht remuxts bei einem "make install" umkopiert werden !??
Kann man "remuxts" in irgendeiner Weise schon mit "streamer" zum Einsatz bringen? Beim NSLU2 habe ich zwar leistungsmäßig meine Zweifel aber was müßte man noch konfigurieren?
MfG
Spooky
Im Gegensatz dazu hat 'remuxts' da schon einen größeren Nutzen, nämlich das Umformen von PS/PES streams ins TS- Format bzw. (mit der Option -pes) die umgekehrte Richtung TS- nach PES-Format.
Allerdings wird es nicht zum Betrieb von streamer benötigt, der ja seinerseits die "on the fly" Wandlung von PS/PES nach TS beherrscht (eben dasselbe Coding ist dann zu Testzwecken in 'remuxts' reingewandert).
Zwar kann man jede Art MPEG File mit 'remuxts' ins TS Format wandeln. Aber die speilen auf der DBox nur dann gut, wenn die Bitrate nicht so hoch ist:
Das hat damit zu tun, daß TS Streams auch Video Pakete enthalten können, deren PES-Paketlänge auf '0' gesetzt ist. Da im TS normalerweise immer genau ein encodiertes Videoframe in ein PES-Paket gepackt wird, müssen für Frames, deren Größe die 16Bit breite PES-Paketlänge übersteigt, eben solche "Tricks" angewendet werden.
Um das PES-Paket "der Länge 0" nun wieder aus dem TS zu extrahieren kann man dann ergo nicht die PES-Paketlänge nehmen, sondern verwendet dazu ein bestimmtes Flag aus dem TS-Header, mit dessen Hilfe dies prima möglich ist.
Also ist der Weg von TS nach PES kein Problem, leider aber der umgekehrte (sofern das Format nicht auch "per Frame" gepackt ist). In der Regel liegen MPEGs von DVD o.ä. im PS-Format vor, wobei darin PES-Pakete eine feste Länge haben (die auch in jedem Fall innerhalb der 16Bit PES-Paketlänge darstellbar ist). Damit ist aber (meist) ein Videoframe auf mehrere PES-Pakete verteilt, so daß die Umwandlung zum TS-Format, bei dem ja je Videoframe ein PES-Paket - sagen wir mal - sinnvoll ist, nicht die 1:1 Übernahme der PES-Pakete erlaubt !
Dadurch wird's nun heftig, da nun der komplette Stream auf den Start eines neuen Videoframes gescannt werden muß, damit man die einzelnen Frames auch sicher erkennt und separiert voneinander jeweils in ein eigenes PES-Paket stecken kann, welches dann letztendlich im TS eingepackt wird ...
Sowhol 'remuxts' als auch 'streamer' verwenden beim Wandeln von PS (und teilweise auch von PES) keine "frameorientierten" PES-Pakete, sondern übernehmen die PES-Pakete 1:1 aus der Quelle.
Und genau das mag die DBox nicht so sehr. Bei niedriger Bitrate macht sich das zwar nicht so sehr bemerkbar, aber je höher sie steigt, umso ruckliger wird's dann.
Hab das jetzt mal etwas ausführlicher erläutert, damit sich später keiner wundert, wenn's ruckeln sollte.
Nur daß jetzt niemand was in den falschen Hals bekommt:
Natürlich besteht diese Problematik nicht, wenn man mit 'streamer' direkt TS-Files (die z.B. von der Box aufgenommen wurden) abspielt. Dazu is ja auch keine Formatwandlung nötig !
Ja und das Makefile muß ich dann noch anpassen, damit auch 'remuxts' installiert wird und nicht das unnötige 'livedir'.
- GMo -