A/V Sync softhddevice

  • Hallo,


    Ich bin hier gerade dran einem Problem mit dem AV-Sync von softhddevice und TS Streams vom Plex plugin auf den Grund zu gehen.
    Bei manchem Quellmaterial gibt es massive AV-Sync Probleme, Ton Läuft Normal, Bild läuft "schneller". Mit VLC klappt es perfekt.
    Woran macht softhddevice fest wie Audio und Video in Einklang gebracht werden?


    Chris

  • Las mich raten das Material ist kein 50Hz.


    SoftHdDevice nimmt die Zeitstempel im Video und Ton und bringt die in Sync.
    Wobei der Ton der Master ist und das Video an den Ton angepasst wird.


    Johns

    Sag mir, wo die Developer sind. Wo sind sie geblieben? . . . . . . . . . . . . . . . . . . . . SoftHdDevice - A software and GPU emulated HD output device plugin.
    Sag mir, wo die Developer sind. Was ist geschehn?


    Client0: Crown CW02 MSI_C847MS-E33 Zotac_GT640_passiv Cine-S2 iMon-MCE / streamdev softhddevice
    Client1: Lian_Li_PC-Q09FB ASRock_H67M-ITX/HT I3-2100 ASUS_ENGT520_passiv / streamdev softhddevice
    Test: Lian_Li_PC-Q09R Asus C60M1-I / streamdev
    Server0: Dockstar TT-S2-3600-USB / streamdev
    Server2: Lian_Li_PC-Q07R Intel_DH61DL G620 WD20EARX 90W PicoPSU Cine-S2+DuoFlex-S2+DuoFlex-CT / streamdev / 22 Watt Verbrauch

  • Möglich das das kein 50Hz ist. Das kann alles mögliche sein 24p, 30p, 25p. Das komische ist das 24p anstandslos abgespielt wird. Manches Material das explizit zu 25frames codiert wird läuft total async.
    Da ich den Plex Transcoder im Verdacht hatte, habe ich den TS Stream vom Server gedumpt, VLC spielt es anstandslos ab.

  • Ok, habe mal ein paar Tests gemacht:
    MPV und Mplayer spielen es ohne Probleme ab.


    VLC dagegen nicht, die VLC Meldungen:

    Code
    [00007f9650c01768] ts demux: MPEG-4 descriptor not found for pid 0x101 type 0xf
    [00007f9650c865d8] avcodec decoder: Using NVIDIA VDPAU Driver Shared Library  346.59  Tue Mar 31 13:42:14 PDT 2015 for hardware decoding.
    [00007f9650e157e8] packetizer_mpeg4audio packetizer: AAC channels: 2 samplerate: 48000
    [00007f9650e13dc8] core decoder error: Could not convert timestamp 2024519527
    [00007f9650e13dc8] core decoder error: Could not convert timestamp 2024540860
    [00007f9650e13dc8] core decoder error: Could not convert timestamp 2024562194
    [00007f9650e13dc8] core decoder error: Could not convert timestamp 2024583527
    [00007f9650e13dc8] core decoder error: Could not convert timestamp 2024604860
    ...usw


    hier mal ein Dump vom Plexserver TS Stream. https://drive.google.com/file/…MdnU5a00/view?usp=sharing


    Edit:
    Wenn bei VLC in den Einstellungen bei "Demuxer->MPEG-TS" der Haken "In-Stream PCR Vertrauen" entfernt wird, läuft es auch da ohne Probleme.

  • Ich unterstütze nur 50 Hz, 60Hz sollte zur Not auch noch gehen.


    Alle anderen unterstütze ich nicht, weil bisher noch kein Bedarf dafür bestand.
    Und früher die Hz erkennung von ffmpeg nicht so einwandfrei funktionierte.


    Im Prinzip könnte man es einbauen.


    Wenn die Zeitstempel im Stream nicht passen, dann habe ich keine Chance A/V Sync zumachen.


    Auch hier wäre es möglich es zu unterstützen, aber bisher war kein Bedarf dafür.


    Ich würde empfehlen mpv und mpv-plugin für sowas zu nehmen, der kann alles was du brauchst.


    Johns

    Sag mir, wo die Developer sind. Wo sind sie geblieben? . . . . . . . . . . . . . . . . . . . . SoftHdDevice - A software and GPU emulated HD output device plugin.
    Sag mir, wo die Developer sind. Was ist geschehn?


    Client0: Crown CW02 MSI_C847MS-E33 Zotac_GT640_passiv Cine-S2 iMon-MCE / streamdev softhddevice
    Client1: Lian_Li_PC-Q09FB ASRock_H67M-ITX/HT I3-2100 ASUS_ENGT520_passiv / streamdev softhddevice
    Test: Lian_Li_PC-Q09R Asus C60M1-I / streamdev
    Server0: Dockstar TT-S2-3600-USB / streamdev
    Server2: Lian_Li_PC-Q07R Intel_DH61DL G620 WD20EARX 90W PicoPSU Cine-S2+DuoFlex-S2+DuoFlex-CT / streamdev / 22 Watt Verbrauch

  • Mit mpv klappt das, klar. Aber ich würde das schon gerne ohne externen Player hinbekommen. Ich habe mich mal versucht durch die VLC Source zu graben um herrauszufinden wie die das ohne gescheite PCR in Griff bekommen. Leider ist mir da noch kein durchsteigen gelungen ;) Ebenso beim softhddevice Code, ich vermute mal das spielt sich in der video.c ab.
    Ich vermute bei "static void VdpauSyncDecoder(VdpauDecoder * decoder)" ? Das gleiche dann noch für Vaapi?

  • Spiel mal ohne Ton ab. Also -a "noop".


    Dann macht er keinen Sync.


    Johns

    Sag mir, wo die Developer sind. Wo sind sie geblieben? . . . . . . . . . . . . . . . . . . . . SoftHdDevice - A software and GPU emulated HD output device plugin.
    Sag mir, wo die Developer sind. Was ist geschehn?


    Client0: Crown CW02 MSI_C847MS-E33 Zotac_GT640_passiv Cine-S2 iMon-MCE / streamdev softhddevice
    Client1: Lian_Li_PC-Q09FB ASRock_H67M-ITX/HT I3-2100 ASUS_ENGT520_passiv / streamdev softhddevice
    Test: Lian_Li_PC-Q09R Asus C60M1-I / streamdev
    Server0: Dockstar TT-S2-3600-USB / streamdev
    Server2: Lian_Li_PC-Q07R Intel_DH61DL G620 WD20EARX 90W PicoPSU Cine-S2+DuoFlex-S2+DuoFlex-CT / streamdev / 22 Watt Verbrauch

  • Man müsste SoftHdDevice beibringen die Video Wiederholrate richtig zuerkennen.


    Alles Arbeit, wozu ich im Moment keine Zeit habe.


    Ich empfehle mpv-plugin zunehmen. Es ist leichtgewichtig, wenn es 100% läuft merkt man nichtmal, daß es ein externer Player ist.
    Und eine Konvertierung kann man sich auch sparen.


    Ansonsten müsste Plex zusätzlich zur Format konvertierung noch zusätzlich nach 50Hz konvertieren.


    Johns

    Sag mir, wo die Developer sind. Wo sind sie geblieben? . . . . . . . . . . . . . . . . . . . . SoftHdDevice - A software and GPU emulated HD output device plugin.
    Sag mir, wo die Developer sind. Was ist geschehn?


    Client0: Crown CW02 MSI_C847MS-E33 Zotac_GT640_passiv Cine-S2 iMon-MCE / streamdev softhddevice
    Client1: Lian_Li_PC-Q09FB ASRock_H67M-ITX/HT I3-2100 ASUS_ENGT520_passiv / streamdev softhddevice
    Test: Lian_Li_PC-Q09R Asus C60M1-I / streamdev
    Server0: Dockstar TT-S2-3600-USB / streamdev
    Server2: Lian_Li_PC-Q07R Intel_DH61DL G620 WD20EARX 90W PicoPSU Cine-S2+DuoFlex-S2+DuoFlex-CT / streamdev / 22 Watt Verbrauch

  • Die "Wurzel des Übels" ist wohl der Transcoder von Plex (gemoddeter ffmpeg), der vermurkst da irgendwie was. Leider reagiert da nicht wirklich jemand auf anfragen.
    Im Moment sieht es so aus das der Transcoder die PCR Infos aufs übelste vermurkst, da hilft auch kein explizites auf 50Hz kodiertes Material, tja...


    Die Zeit ist so eine Sache ;) kenne ich.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!