Hi,
es ist erstmal kein reines VDR Problem - hoffe ich.
Problem:
Ich habe ein beliebiges Video File, welches ich so transcodieren will, das es im VDR darstellbar ist: Eigener Player und durchreichen des Streams mittels player->PlayTs().
Beobachtungen:
- Das transcodierte Video lässt sich mit ffplay problemlos abspielen
- Reiche ich den Stream an VDR weiter, dann werden in cDevice::PlayTs nur PAT und PMT PIDs erkannt? Ansonsten kommen fast nur PID 256, hin und wieder PID 17.
Aktiviere ich im VDR ein wenig mehr Debugging, bekomme ich nur die folgende Ausgabe:
PAT: TSid = 1, c/n = 1, v = 0, s = 0, ls = 0
PMT: sid = 1, c/n = 1, v = 0, s = 0, ls = 0
pcr = 256
Aber diese Ausgabe kommt z.B. nicht:
for (SI::Loop::Iterator it; Pmt.streamLoop.getNext(stream, it); ) {
dbgpatpmt(" stream type = %02X, pid = %d", stream.getStreamType(), stream.getPid());
Und ich gehe davon aus, daß weder Audio noch Video Streams gefunden werden und deshalb wird auch nix angezeigt.
Zusammengefasst gehe ich davon aus, daß das Transcoden per ffmpeg irgendwie nicht richtig funktioniert hat. Die Suche im Forum ergab immer nur Treffer für den umgekehrten Fall: Transcode von TS nach was anderem.
Die aktuelle Kommandozeile ist sehr rudimentär (reines Video, kein Audio):
$FFMPEG -y -r 25 -i $VIDEO_IN -f mpegts -q:v 10 -an -vcodec mpeg4 test1.ts
Es müssen wohl ganz viele Parameter fehlen. Nur welche?? Es gibt ja Fantastiliarden davon.
Hat das schon jemand gemacht? Und wie?
Zabrimus