wie muss ein TS-File optimaler Weise für die dbox2 aussehen?

Digital Recording
trokon
Neugieriger
Neugieriger
Beiträge: 14
Registriert: Mittwoch 10. November 2004, 14:21

wie muss ein TS-File optimaler Weise für die dbox2 aussehen?

Beitrag von trokon »

Wie müsste ein TS-File optimaler Weise für die dbox2 aussehen, wenn man sie nicht vom Sender holt, sondern selbst aus anderm Material erzeugt?

TS2DVD ist ja ganz gängig, aber eigentlich schwieriger ist andersrum: DVD2TS

1. Warum? Auf der dbox2 geht TS super, VLC nur bei 352x288 Bildgroesse
2. Erklär1: Ich denk mal es ist die Verzögerungszeit des Netzes [Pingzeiten liegen so bei 30ms], kommt immer: puffern. Die Box hängt nämlich nur per WLAN am Netz, für TS reichts satt
3. Erklär2: An Server und Bandbreite liegt es wohl nicht, ist alles direkt per LAN angeschlossen, läuft alles super. Nun bin ich aber auf das WLAN angewiesen, sonst muss ich im Keller gucken :(
4. Fazit: Nun will ich alles Videomaterial in MPEG2 [DVD] rendern und für die dbox2 verlustlos in TS wandeln.
5. Vorteil: Für TS per NFS brauch ich nur einen Dummrechner und für VLC verbrate ich 4GHz
6. Als 1. Versuch hatte ich von meiner DV-Kamera das Material in DVD-fähiges Material von Nero Vision 3 wandeln lassen und dann per ProjektX in TS verlustlos wandeln lassen. Das Ergebnis ist aber übel, nun macht er halt keine Pause, sondern ruckelt heftig, ton geht.
7. Wer kann sagen, wie die TS-Files optimaler Weise für die dbox aussehen müssen, wenn man sie nicht vom Sender holt, sondern selbst aus anderm Material erzeugt?
trokon
Neugieriger
Neugieriger
Beiträge: 14
Registriert: Mittwoch 10. November 2004, 14:21

es gab schon einen Thread mit Hinweisen

Beitrag von trokon »

trokon
Neugieriger
Neugieriger
Beiträge: 14
Registriert: Mittwoch 10. November 2004, 14:21

Beitrag von trokon »

neben der Datenrate gibts so verschiedene MPEG-typische Parameter, wie GOP's etc.

Das müsst ich wissen.
gmo18t
Erleuchteter
Erleuchteter
Beiträge: 553
Registriert: Freitag 27. Februar 2004, 14:30

Beitrag von gmo18t »

Hi,

unter linux kann man folgendermassen DBOX2 kompatibkle TS files erzeugen:

mit encodieren z.B. 352x288er Auflösung:

Code: Alles auswählen

ffmpeg -i input-file -ac 2 -ar 48000 -ab 192 -s cif -qscale 2 -f mpegts output-file   
Damit können fast alle input Formate (divx, wmv, DV, ...) transcodiert werden. Ich empfehle immer, die cif-Auflösung zu wählen, damit bei niedrigen Ziel-Bitraten bis ca. 3MBit (wg. DBox-Streaming sinnvoll) keine Blockartefakte auftreten. Dann ist das Bild zwar entwas unschärfer auf dem Computer-Monitor, aber auf einem normalen TV (der im Vgl. sowieso unscharf ist) fällt das weniger ins Gewicht als die Blockartefakte !
Ist natürlich auch erlaubt, mit anderen Auflösungen zu experimentieren, nur sollte dann auch der qscale Parameter entspr. gößer gewählt werden, um die Ziel-Bitrate im Zaum zu halten ...

nur neu multiplexen (kein qualitätsverlust):

Code: Alles auswählen

ffmpeg -i input-file -vcodec copy -acodec copy -f mpegts output-file
Falls das Quell-Material bereits mpeg Format ist und die DBox verträgliche Bitrate nicht übersteigt, ist natürlich diese Variante zu bevorzugen und rennt verdammt schnell.

Auch das Encodieren läuft in wirklich hoher Geschwindigkeit mit ansehnlicher Qualität. Die Vielzahl der Parameter von ffmpeg gibt genügend Spielraum, um für jede Problemstellung eine Lösung zu finden.

Natürlich sollte die neueste cvs-Version von ffmpeg verwendet werden, damit das so klappt wie beschrieben.

- GMo -
trokon
Neugieriger
Neugieriger
Beiträge: 14
Registriert: Mittwoch 10. November 2004, 14:21

Beitrag von trokon »

das mit CIF war aber auch bei VLC schon. Deshalb dachte ich an offline transcoden. Da ist TS aber kein Problem für die BOX, zumindest, wenn es aus der Antenne kommt.

Da fallen mir die Schuppen von den Haaren! Vielleicht sollte ich einfach mal die TS analysieren....

Später mehr.
gmo18t
Erleuchteter
Erleuchteter
Beiträge: 553
Registriert: Freitag 27. Februar 2004, 14:30

Beitrag von gmo18t »

@trokon:
du MUSST nicht cif-Auflösung nehmen. Du kannst auch 352x576, 704x576 oder 720x576 nehmen. Dann hast du qualitativ gesehen genauso was wie aus der Antenne kommt und zwar auch mit den schönen Blockartefakten (bei DBox tauglicher Bitrate) !

Der Aufbau des TS streams "aus Antenne" sieht natürlich anders aus als das was Transcoder Software normalerweise ausspuckt, da er ja noch viele nicht A/V relevanten Infos (EPG, PAT, PMT, Videotext usw.) enthält und auch mehr als eine Audio und Videospur enthält (da Transponder).

Aber das braucht man gar nicht, noch nichtmal PAT/PMT, wenn du das mit dem neutrino movieplayer spielen willst :-)
Wichtig für's sorgenfreie Abspielen ist das korrekte Erzeugen von Timestamps (PTS, PCR, usw...) und das richtige Multiplexen -> glaub mir: das willst Du aber nicht wirklich analysieren müssen ...

Jedenfalls tut's ffmpeg mittlerweile recht ordentlich mit einer Video- und einer Audio-Spur (Ob's auch mit AC3-Audio klappt, hab ich noch nicht getestet, aber mit MP2 geht's in jedem Fall).

- GMo -
Sagem 1x Kabel, AVIA600_vb028, cam-alpha 01_02_105D, int. ucode, .sp_ts + .hw_sections
trokon
Neugieriger
Neugieriger
Beiträge: 14
Registriert: Mittwoch 10. November 2004, 14:21

Beitrag von trokon »

Danke, dass Du Dich meines Anliegens so annimmst.

Dann noch mal meine Gedanken :wink:

Wenn das mit dem Erzeugen von TS nicht optimaler geht (CIF eben, wegen Artefakten vs. Bitrate), dann bringt der Weg nichts. Experimente mit VLC ergaben das gleiche: Artefakten vs. Bitrate -> CIF. Nur noch zusätzlich unter der Forderung nach Echtzeitrecodierung.

Nun stachelt es mich aber an, dass es gehen muss! Die Sender tuns ja auch, vor dem Verschicken des TS :-( Wie lösen die das? Daher die Idee mit dem analysieren. Ehrlich, davor grauts mir, da muss ich ja ein Studium Medientechnik dranhängen ....

Natürlich muss ich Dir auch zustimmen, man könnte mit CIF allemal zufrieden sein. Der Ton ist wichtig und der Fernseher vermatscht das Bild soundso. Artefakte wären der Tod. Aber ich will das Optimum und das ist noch nicht erreicht :grins:

PS: Nur um Missvertändnisse vorzubeugen. VLC kanns per LAN besser. Bis maximaler Auflösung gehts. Dabei stelle ich Datenraten bis 2500 ein. (2,5Mbit? siehe http://wiki.tuxbox-cvs.sourceforge.net/ ... ovieplayer)

Nur möchte ich die Lösung für ein WLAN, und da haberts im Moment wohl weniger an Bandbreite, sondern eher an den langen Pingzeiten (locker mal bis 30ms), die zum Puffervorgang beim VLC "anregen" (TS aus dem "Äther" als File gespeichert, geht hier super - volle Auflösung).
wwershofen
Einsteiger
Einsteiger
Beiträge: 314
Registriert: Donnerstag 16. Januar 2003, 23:53

Beitrag von wwershofen »

Hast Du schonmal die dvd-mpegtools ausprobiert?

Da gibt es ein Tool namens pes2ts2, welches eine PES-MPEG-Stream (und um nichts anderes handelt es sich bei einer DVD) on the fly in einen TS-Stream umwandelt.

Auf meinem Athlon 1.4GHz braucht pes2ts2 knappe 9 Minuten für ein knapp 3 GB großes MPEG-File. Ein gepflegtes

Code: Alles auswählen

tccat -i /dev/dvd -T 1,1-99 | pes2ts2 255 256 > ff.ts
zaubert mir einen wunderbaren TS-Stream, den ich mir in Echtzeit schon während der Umwandlung anschauen kann.

hth
wolle
tetzlav
Einsteiger
Einsteiger
Beiträge: 131
Registriert: Dienstag 6. April 2004, 12:08

Beitrag von tetzlav »

gmo18t hat geschrieben:Hi,

unter linux kann man folgendermassen DBOX2 kompatibkle TS files erzeugen:

mit encodieren z.B. 352x288er Auflösung:

Code: Alles auswählen

ffmpeg -i input-file -ac 2 -ar 48000 -ab 192 -s cif -qscale 2 -f mpegts output-file   
[...]
Wenn ich ein AVI (Video: DivX 3 640x272 25.00fps 768Kbps, Audio: MPEG Audio Layer 3 48000Hz stereo 107Kbps) mit diesen Parametern wie oben angegeben trancodieren möchte, spielt der Neutrino-Movieplayer das TS-File zwar ab, jedoch haben die Schauspieler dann Eierköpfe, weil das AVI ohne Schwarze Balken (anamorph?) codiert wurde und der ffmpeg/Movieplayer das Video auf die volle Größe hochscaliert.

Verändern mit der -aspect-Option hat auch nix gebracht.

Wenn ich mit den -padtop und -padbottom-Optionen das ganze irgendwie erzwinge passt zwar das Seitenverhältnis, jedoch flackert das letzte Fernsehbild im unteren Teil des Bildschirms.

Benutzt irgendjmd. ffmpeg zum Erzeugen von Neutrino-verträglichen TS-Files und kann mir einen Tipp geben!?

Gruß
tetzlav
gmo18t
Erleuchteter
Erleuchteter
Beiträge: 553
Registriert: Freitag 27. Februar 2004, 14:30

Beitrag von gmo18t »

tetzlav hat geschrieben: ...
Verändern mit der -aspect-Option hat auch nix gebracht.
wie sieht denn das "Videofenster" aus, wenn Du's mit MPlayer auf nem PC abspielst (nicht als Vollbild). Ist es dann auf Seitenverhältnis 16:9 ?
(und denk dran, andere Verhältnisse als 16:9 bzw. 4:3 kann der neutrino MP nicht).
Probier doch mal -aspect 16:9 hinter der -f option, also so:

Code: Alles auswählen

ffmpeg -i input-file -ac 2 -ar 48000 -ab 192 -s cif -qscale 2 -f mpegts  -aspect 16:9 output-file   
das funktioniert bei mir tadellos...

- GMo -
tetzlav
Einsteiger
Einsteiger
Beiträge: 131
Registriert: Dienstag 6. April 2004, 12:08

Beitrag von tetzlav »

...das hab ich schon getestet, aber der Movieplayer erkennt das 16:9 nicht und gibt immer volle Höhe aus. Andere mit recorder + dboxgrab aufgenommene 16:9-Filme funktionieren hingegen tatellos. Wenn ich mir das erzeugte TS mit Mplayer oder MPC anschaue ist alles perfekt (also 16:9).

Hier der Eigenschaften Dialog von MPC

Code: Alles auswählen

Video: MPEG2 Video 352x288 (16:9) 25.00fps 104857Kbps
Audio: MPEG Audio 48000Hz stereo 192Kbps
Video: 4³R
In den Video-Einstellungen habe ich fest auf 4:3(LB) (was ist eigentlich der Unterschied zw. LB und PS?) eingestellt, weil bei der automatischen Einstellung die gestauchte Schrift auf dem Fernseher nervt. Nur wenn ich in den Video-Settings fest auf 16:9 stelle haut das Bildverhältnis hin, aber das ist ja nicht Sinn & Zweck...

Dein streamer hat mit der 16:9-Kennung denkich mal nichts zu tun!?

<edit>
Das Quellmaterial ist sogar 2.35:1 (Kino Cinemascope Format) und ich habe versucht mit -padtop 70 -padbottom 70 die fehlenden 140 Zeilen hinzuzufügen nur lande ich dann bei 352x428? und die 16:9 Kennung wird ignoriert... - Ich versteh das alles nicht!? :gruebel:
</edit>

Gruß
tetzlav

@gmo18t: Vielen Dank für deine neue Version von recorder, jetzt funktioniert auch alles mit den blöden Umlauten! ;)
Spooky
Einsteiger
Einsteiger
Beiträge: 338
Registriert: Sonntag 24. Februar 2002, 10:43

Beitrag von Spooky »

@tetzlav

LB = Letterbox

Ein anamorph ausgestrahlter 16:9 Film wird mit korrektem Seitenverhältnis auf einem 4:3 Fernseher dargestellt.
Oben und unten werden die notwendigen schwarzen Balken erzeugt und, um diesen Bereich, das Bildmaterial auf das richtige Format gestaucht.

PS = Pan Scan

Ein anamorph ausgestrahlter 16:9 Film wird auf das korrekte Seitenverhältnis gestaucht. Die besagten schwarzen Balken werden nicht dargestellt, sondern links und rechts etwas abgeschnitten vom Bildmaterial.

Automatisch

Das 16:9 Schaltsignal für den Fernseher wird erzeugt , sofern die Sendung anamorph übertragen wird. Wenn der Fernseher dieses Signal korrekt auswertet, stimmt auch das Seitenverhältnis. Bei den meisten 4:3 Fernsehern werden hier nach Methode LB die schwarzen Balken erzeugt, aber diesmal durch den Fernseher selbst. Ein 16:9 Fernseher erzeugt die Balken nicht und stellt das Bild logischerweise bildschirmfüllend dar.

16:9

Der Fernseher bekommt grundlegend das Schaltsignal simuliert, egal ob anamorph 16:9 o. 4:3. Das 4:3 Bild wird durch die dbox zu anamorph skaliert und durch den Fernseher wieder auf Normalgröße gestaucht. Da oft 4:3 LB statt anamorph 16:9 von den Sendern übertragen wird, ist dieser Modus äußerst unpraktisch für neuere 16:9 Fernseher. Diese beherrschen oft einen "Zoom" Modus mit dem man 4:3 LB Filme bildschirmfüllend darstellen kann. Da aber die dbox anamorph skaliert, könnte man zwar auf den "Zoom" Modus wechseln , aber dann ist das Seitenverhältnis falsch und man bekommt "Eierköpfe". Normale 4:3 Sendungen werden mit schwarzen Streifen rechts und links dargestellt. Jetzt kommt der eigentliche Bummerang:
Wenn ein 16:9 Film 4:3 LB übertragen wird, stellt der Fernseher diesen Film zwar im korrekten Seitenverhältnis, aber mit den Rändern Links und Rechts + den Rändern vom 4:3 LB Format oben und unten dar. Der darausfolgenden Bildschirmausschnitt mit Nutzinhalt ist dann viel zu klein.

Außerdem verlierst Du in diesem Modus, bei 4:3 Sendungen,ebenfalls wertvolle Bildschirmauflösung.

Jetzt wird es kompliziert:
Ein 16:9 Fernseher erzeugt von sich aus, im 16:9 Modus, keine schwarzen Balken links und rechts. Um dennoch ein korrektes Seitenverhältnis hinzubekommen, muß die dbox das 4:3 Bild vertikal hochskalieren (für anamorph) und zur Erzeugung des linken+rechten Randes zusätzlich stauchen. Dies gelingt nur, wenn das eigenliche Bildmaterial auf weit weniger Pixel (horizontal) herunterskaliert wird und die restlichen Pixel auf schwarz gesetzt werden.


Mit Deinem sowieso schon nicht PAL konformen DiVX Material, setzt Du dem ganzen natürlich die Krone auf. Mit ffmpeg habe ich noch nicht herumexperimentiert, aber wie Du oben selbst sehen kannst, solltest Du erstmal klären ob Du anamorphe 16:9 , 4:3 LB oder sogar 16:9 Filme ohne Balken (also weder 4:3 LB o. anamorph) als DiVX hast.

Spooky
Zuletzt geändert von Spooky am Mittwoch 6. Juli 2005, 20:51, insgesamt 1-mal geändert.
tetzlav
Einsteiger
Einsteiger
Beiträge: 131
Registriert: Dienstag 6. April 2004, 12:08

Beitrag von tetzlav »

@Spooky

Vielen Dank für deine äußerst ausführliche und sehr informative Antwort. Hat zumindest ein gewisseses Grundwissen für weitere Experimente geschaffen...

Die meisten Filme liegen in den unterschiedlichsten Bildgrößen, aber meistens anamorph und 16:9 oder mit dem Kino-Format 2,35:1 vor, wobei die reinen 16:9-Filme kein wirkliches Problem darstellen...

[...]

aber ich habe gerade noch bisschen rumprobiert und rausgefunden, das man bei der -s-Option jede beliebige Größe angeben lässt!

Code: Alles auswählen

-s size
           set frame size. The format is WxH (default 160x128).  The following
           abbreviations are recognized:

           sqcif
               128x96

           qcif
               176x144

           cif 352x288

           4cif
               704x576
wobei ich recognize mit erkennen/akzeptieren übersetze...

Naja, jedenfalls bringt bei anamorphen 2,35:1-Filmen der Befehl

Code: Alles auswählen

ffmpeg -i inputfile -ac 2 -ar 48000 -ab 192 -s 352x148 -qscale 2 -f mpegts -padtop 70 -padbottom 70 outputfile
das gewünschte Ergebnis! ;)

Gruß
tetzlav
Spooky
Einsteiger
Einsteiger
Beiträge: 338
Registriert: Sonntag 24. Februar 2002, 10:43

Beitrag von Spooky »

@Tetzlav

Noch ausführlicher ist das Thema hier behandelt worden:
http://www.dvd-tipps-tricks.de/index.ph ... ormate.php

Spooky