PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ts Stream mit 2 Sendern


skl
12.10.2003, 18:54
Wir experimentieren beim DVBViewer gerade mit einem RecorderPlugin welches es uns ermöglicht alle gewünschten PID's eines Satelliten-Transponders aufzunehmen. Dann wäre es möglich mehrere Sender gleichzeitig aufzunehmen.
Nun habe ich eine ts-Datei in der zwei Sender aufgenommen wurden. Die beiden Audiokanäle werden einwandfrei demuxt, aber der zweite Videostream wird einfach nicht demuxt. Ich habe das Gefühl X findet den zweiten Videostream nicht. Statt des zweiten Streams entstehen nur zwei 0KB große *.r2 und *.r2.pts Dateien.
Nun wissen wir nicht, ob der Programmierer noch etwas ändern muss oder ob wir alle nur zu blöd sind die richtigen Einstellungen in X zu finden.
(Was mir in dem Log sofort aufgefallen war, dass keine PMT gefunden wurden. Hat da jemand einen Link für eine Dokumentation darüber? Der Programmierer fragte da schon.)
Auf dem Reiter "out" habe ich gesehen, dass man da bei MPEG Video was einstellen kann. Allerdings sind das noch ein wenig böhmische Dörfer für mich.
Ich füge mal das LOG . Vor wenigen Tagen erhielt ich eine Mail, dass ich nun größere als 256kb große Attachements anhängen kann. Allerdings geht das anscheinend doch nicht. Das Beispielfile ist 1,7MB groß. Wenn es notwendig ist, werde ich mir noch einen anderen Uploadplatz suchen.
Danke im vorraus.

LOG:
Sonntag, 12. Oktober 2003 18.35 Uhr CEST

X V0.81.4 (29.08.2003)



=== session infos ===



=> working with collection 0

-> write output files to :

D:\TV\



=> File 0: D:\TV\RTL Television Okt-12 18-34-04.ts (1812320 bytes)

=> File is DVB/MPEG-2 TS (Video/Audio/TTX PES)

=> demux

-> no PMT found (at a short scan)

ok> PID 0xA3 has PES-ID 0xE4 (MPEG Video) (0x0 #1)

ok> PID 0xA7 has PES-ID 0xE4 (MPEG Video) (0xD38 #19)

ok> PID 0x88 has PES-ID 0xC0 (MPEG Audio) (0x2F00 #65)

ok> PID 0x68 has PES-ID 0xC0 (MPEG Audio) (0x5474 #116)

-> video basics: 704*576 @ 25fps @ 0.6735 (4:3) @ 7000000bps, vbvBuffer 91

dropping useless B-Frames @ GOP#0 / new Timecode 00:00:00.000

dropping useless B-Frames @ GOP#1 / new Timecode 00:00:00.400

dropping useless B-Frames @ GOP#2 / new Timecode 00:00:00.800

dropping useless B-Frames @ GOP#3 / new Timecode 00:00:01.200

dropping useless B-Frames @ GOP#4 / new Timecode 00:00:01.600

packs: 9640 100% 1812320

video: fr/ct/1p/cg/og/dg 50/5/0/5/0/0

videolength: 50f @ 00:00:01.600

avg. nom. bitrate 1858660bps (min/max: 3332400/5466000)

set first sequence_header bitrate to 5466000bps

===> new File: D:\TV\RTL Television Okt-12 18-34-04.mpv

--> MPEG Audio (0xC0) on PID 0x88

Audio PTS: first packet 01:18:37.174, last packet 01:18:38.638

Video PTS: start 1.GOP 12:08:10.056, end last GOP 12:08:10.936

-> !! video & audio pts doesn't match at any time!

-> adjusting audio at its own timeline

=> src_audio: MPEG-1,Layer2,48000Hz,stereo,192kbps,CRC @ 00:00:00.000

audio frames: wri/pre/skip/ins/add 63/0/0/0/0 @ 00:00:01.512 done..

===> new File: D:\TV\RTL Television Okt-12 18-34-04.mpa

--> MPEG Audio (0xC0) on PID 0x68

Audio PTS: first packet 12:08:09.374, last packet 12:08:10.814

Video PTS: start 1.GOP 12:08:10.056, end last GOP 12:08:10.936

-> adjusting audio at video-timeline

=> src_audio: MPEG-1,Layer2,48000Hz,stereo,192kbps,CRC @ 00:00:00.000

-> 20 frame(s) (480ms) added @ 00:00:01.128

audio frames: wri/pre/skip/ins/add 67/0/0/0/20 @ 00:00:01.608 done..

===> new File: D:\TV\RTL Television Okt-12 18-34-04_1.mpa



summary of created media files:

.Video: 50 Frames 00:00:01.600 D:\TV\RTL Television Okt-12 18-34-04.mpv

Audio 0: 63 Frames 00:00:01.512 0/0/0/0 D:\TV\RTL Television Okt-12 18-34-04.mpa

Audio 1: 67 Frames 00:00:01.608 0/0/0/20 D:\TV\RTL Television Okt-12 18-34-04_1.mpa

=> 1211268 bytes written...


[equote:0105689478="Edit Admin"][center:0105689478]Attachment gelöscht und lokal archiviert

Lucike[/center:0105689478]
Attachments-Archiv (http://www.lucike.info/page_archiv_attachments.htm)[/equote:0105689478]

Griga
12.10.2003, 20:52
OK, ich programmiere dieses Plugin. Versucht habe ich noch folgendes:

- Zusätzlich die PMTs in der TS-Datei speichern lassen. Werden von ProjectX korrekt erkannt und ausgewertet. Ist klar, dass es ohne nicht geht, wenn man zwei Fernsehsendungen in einer TS-Datei speichert, da ja ProjectX sonst nicht wissen kann, welches Audio zu welchem Video gehört.

- Beim Rekorden die Video-PES-IDs abgeändert, so dass sie unterschiedlich sind (z.B. E0/E2).

Trotzdem finde ich keine Möglichkeit, die beiden in der TS-Datei enthaltenen Videos mit ProjectX auseinanderzunehmen - die Ergebnisse entsprechen im wesentlichen den von skl beschriebenen. Auch die explizite Angabe der gewünschten PES-ID unter "Settings for Main ID" (out tab) bringt nichts Neues...

Weiß jemand, wie man sowas macht?

Griga

dvb.matt
13.10.2003, 10:19
Auf dem Reiter "out" habe ich gesehen, dass man da bei MPEG Video was einstellen kann.
diese Settings bei out kann man mittlerweile knicken.
das geht jetzt 'sicherer' und gezielter je coll# wie unten beschrieben.

Beim Rekorden die Video-PES-IDs abgeändert, so dass sie unterschiedlich sind (z.B. E0/E2).
da die PIDs das ja bereits unterscheiden, ist es unnötig. (wenn, müßte man das konsequenterweise auch für Audio machen, es ist aber eben unnötig)

Ist klar, dass es ohne nicht geht, wenn man zwei Fernsehsendungen in einer TS-Datei speichert, da ja ProjectX sonst nicht wissen kann, welches Audio zu welchem Video gehört.
X braucht keine PMT, wenn aber eine drin ist, wird diese (erste im Strom) ausgelesen.
X sucht aber auch unabhängig davon nach 'verwertbaren' PIDs.
dabei kann X aber nur einen SPTS zur einer Zeit verarbeiten, d.h. der erstgefundene VideoPID gilt als mainstream und alle weiteren (A/TTX)als substreams.
nicht dazugehörige PIDs müssen vorher ausgeschlossen werden, wenn sie nicht sowieso ignoriert werden (wie ECM etc.)

das geschieht über die PIDlist (neben vorschaufenster).
wenn das (MPTS).ts in die coll# geladen ist, werden mit "i" die beim kurzscan gef. PIDs in die List übernommen. man kann da natürlich auch per Hand eintragen (als hex: 0x.. ,decimale werden automatisch umgerechnet)
die PIDs, die nicht zum gewünschten Programm gehören (sollen), werden doppelgeklickt und verschwinden aus der List (und Bearbeitung).
es ist dabei also von Vorteil, diese vorher zu kennen (z.B. aus der Kanalliste) bzw. wird das dem Betrachter aus den zusammenhängenden PID Nummern ersichtlich.
X listet wie gesagt nur eine PMT zur Übersicht auf.
die PIDList als solche wirkt auf sämtliche Wandlungen der Datei.
um mehrere Programme aus einem MPTS in 'einem Schritt' zu bearbeiten, wird dieses .ts in mehrere colls. geladen und je coll. die PIDs entsprechend dem 'nächsten' Programm eingetragen.
zusätzl. die Option drunter 'create sub_directory..' an (damit die Zieldatei nich überschrieben wird) und bei main dann 'work with all colls' an.

BTW:
die X-Preview selektiert noch keine VPIDs aus einem MPTS (beschränkt anhand der PIDList), es wird auch hier nur der erste gefundene gefiltert.
das ließe sich IMO aber noch rel. einfach bewerkstelligen.
dann kann man auch diese MPTS 'unabhängig' schneiden..

die geposteten Fehler bei der Videobearbeitung rühren daher, dass das 2.Video noch nicht ignoriert wird und wohl mit in die GOP Prüfung einfließt.
das ist IMO aber nur beim demux der Fall, die 'to..' Wandlungen verwerfen alle weiteren Videostreams.

HTH
mfg

Griga
13.10.2003, 11:48
@dvb-matt: Man dankt! Sehr!

Hat auf Anhieb geklappt. Nun kann ich probieren, ob es mein PC schafft, 9 x Video und 20 x Audio (einen ganzen ARD-Transponder) auf einen Schlag aufzunehmen... :)

Allerdings frage ich mich, ob ich es dem Normal-DVBViewer-Anwender zumuten kann, mit Hex-Pids zu jonglieren. Wahrscheinlich werde ich das Plugin so umschreiben, dass es als "Multirecorder" verschiedene Sender sofort in separate TS-Dateien schreibt.

Griga

skl
13.10.2003, 14:21
Ebenfalls Danke!
Es ist schon schon wenn man ein dermaßen flexibles Tool hat. (auch wenn das hantieren mit Hexzahlen ziemlich ungewohnt ist)
Vielleicht macht X das ja in Zukunft irgendwann automatisch :wink: , wäre echt ein Traum.

Steffen

dvb.matt
13.10.2003, 16:03
wie gesagt, kannst auch dezimal eingeben..

irgendwann automatisch
nunja, bislang sind MPTS für mich auch nur 'Theorie' gewesen..
mal abgesehen von den ehem. Radio-Bouquets von Canal+ osä. (die wo ~24Kanäle in einer PMT verlinkt waren und der Topfield die auch alle mitschnitt)

einfacher wäre da sicherlich die Generierung einzelner SPTS .ts, wie's Griga schon beschrieben hat..

dvb.matt
18.10.2003, 13:24
die X-Preview selektiert noch keine VPIDs aus einem MPTS (beschränkt anhand der PIDList), es wird auch hier nur der erste gefundene gefiltert.
das ließe sich IMO aber noch rel. einfach bewerkstelligen.
dann kann man auch diese MPTS 'unabhängig' schneiden..

jetzt also:
PES-ID/PID-List mit Auswirkung auf die Preview. (TS & MPG-PS/VDR)
wurden (P)IDs für die aktuelle coll# definiert, werden alle anderen jetzt auch bei der Vorschau ignoriert.
somit lassen sich nun unabhängig Schnittpunkte für einen SPTS/SPPS aus MPTS/MPPS heraus festlegen.
die benutzte V-(P)ID wird kurz im Fenstertitel angezeigt.


[equote:9795d77e98="Edit Admin"][center:9795d77e98]Attachment gelöscht und lokal archiviert

Lucike[/center:9795d77e98]
Attachments-Archiv (http://www.lucike.info/page_archiv_attachments.htm)[/equote:9795d77e98]

skl
18.10.2003, 13:30
thank's
Steffen

Daywalker
18.10.2003, 16:59
Ich habe mir die Änderung auch mal geladen, sie funktioniert einwandfrei :)

@skl
Wie programmiert Ihr dieses PlugIn? Ist es auf Multidec Basis und würde es evtl. auch mit WinSTB laufen? :D Ich habe da vor kurzem einen Tutor für 2-channel-record geschrieben der aus einem 'Sender-Datenbank-Hack' besteht und so nur 2 Sender möglich sind...

@dvb.matt
Ein wenig Offtopic, aber kann ich eine Frame Number in eine BytePos für cuts umrechnen lassen?

dvb.matt
18.10.2003, 19:24
Ein wenig Offtopic, aber kann ich eine Frame Number in eine BytePos für cuts umrechnen lassen?
wüßte nicht wie, bei VBR..

Oliver
18.10.2003, 22:45
Hallo!

Ich bin im DVBViewer-Forum Moderator und gehöre zu den Betatestern.

@Daywalker:

Wie programmiert Ihr dieses PlugIn? Ist es auf Multidec Basis und würde es evtl. auch mit WinSTB laufen?

Das Plugin-SDK kannst du dir unter http://www.dvbviewer.com/download/pluginsrc.zip runterladen. Der DVBViewer verfügt über ein eigenes, definitiv nicht mit Multidec oder WinSTB kompatibles Interface.

Bis dann, Oliver

skl
18.10.2003, 23:00
@Oliver: schön Dich hier nun auch in dieses Board gelockt zu haben :wink:
@daywalker: Programmierer ist Griga, ich bin da auch nur der eifrige Betatester und mache nebenbei ein wenig Support im DVBViewer Board. Aber wir versuchen uns eben Infos aus allen möglichen Quellen zu besorgen. Wenn man dann noch ein so nützliches/flexibles Tool wie ProjectX findet, dann ergänzen wir uns alle gegenseitig doch ziemlich gut.
Im Augenblick läuft das ganze nur mit dem DVBViewer und der SkyStar 2 von TechniSAT. Allerdings arbeitet Christian Hackbart (Programmierer vom DVBViewer) daran die Vorraussetzungen auch für andere Karten zu schaffen. Dann könnte man auch andere Karten per Plugin (oder ähnlich) unterstützen.
Falls Du Interesse daran hast bei der Unterstützung für andere Karten zu helfen, dann kannst Du ja mal ne Mail an Hackbart schreiben.

Steffen

Daywalker
18.10.2003, 23:07
Ein wenig Offtopic, aber kann ich eine Frame Number in eine BytePos für cuts umrechnen lassen?
wüßte nicht wie, bei VBR..

Ok, hatte ich mir schon fast gedacht....

@Oliver
@skl

Danke für die Info's!

Lucike
18.10.2003, 23:44
Hallo Oliver,

ich freue mich auch über deinen Besuch.

Ich bin im DVBViewer-Forum Moderator und gehöre zu den Betatestern.

Selber Schuld ;) :D

Gruß
Lucike