MPEG2 probleme

  • Hi,


    ich hab ein PIII/1Ghz mit NExus 2.2.
    Der Mplayer spielt divx FIlme, oder .vob ohne probleme ab. Aber meine mpeg2 filme ruckeln total.
    Ich hab schon LVAC runtergesetzt auf 3000 und slow CPU eingestellt. Das hilft auch ein wenig, aber beim nächsten Kameraschwenk ruckelts wieder.
    Wie kann ich mir noch helfen?
    Die NExus hat doch einen eingebauten MPEG Decoder. Wird der auch genutzt, wenn ich vo auf MPEGPES setze?
    Ich häng mal das Debug ran, vieleicht fällt jemandem was auf:


    #####
    DEBUG: Variable CFGFIL has value "/usr/sbin/vdrmplayer.sh.conf"
    DEBUG: Variable USEAC3 has value "false"
    DEBUG: Variable AC3AOUT has value "-ao alsa9 -ac hwac3"
    DEBUG: Variable TV_ASPECT has value "4/3"
    DEBUG: Variable PAL has value "true"
    DEBUG: Variable NTSC has value "true"
    DEBUG: Variable USE_SPEED has value "false"
    DEBUG: Variable MPLAYER has value "/usr/bin/mplayer"
    DEBUG: Variable VOP has value "lavc=3000"
    DEBUG: Variable VO has value "mpegpes"
    DEBUG: Variable CACHE has value "8096"
    DEBUG: Variable CACHESTR has value "-cache 8096"
    DEBUG: Variable FRAMEDROP has value "true"
    DEBUG: Variable FDSTR has value "-framedrop"
    DEBUG: Variable LIRCRC has value ""
    DEBUG: Variable LIRCSTR has value ""
    DEBUG: Variable SUBTITLE has value " -subpos 80 -sub-bg-color 0 -sub-bg-alpha 0"
    DEBUG: Variable REMOTE has value "-slave -nolirc"
    Use Option USERDEF at your own risk!
    DEBUG: Variable USERDEF has value "-quiet"
    DEBUG: Variable XResPAL has value "352 480 528 688 704 720"
    DEBUG: Variable XResNTSC has value "352 480 512 640 704 720"
    DEBUG: Variable XResPAL has value "352"
    DEBUG: Variable XResNTSC has value "352"
    DEBUG: Variable SLOW_CPU has value "true"
    Option DVDFiles not set correctly! You will not be able to play VCD/DVD
    DEBUG: Variable DVDOPTIONS has value "-aop list=volume:volume=170"
    DEBUG: Variable VCDOPTIONS has value ""
    DEBUG: Variable MPEG_DIRECT has value "true"
    DEBUG: Variable SUFFIX has value ".mpg"
    DEBUG: Calling getvidxy function to analyze source video stream ...
    DEBUG: OutputFromMPLAYER: "ID_FILENAME=/movie/filme1/Filme/Test Daten/2.mpg ID_VIDEO_FORMAT=0x10000002 ID_VIDEO_BITRATE=5200800 ID_VIDEO_WIDTH=544 ID_VIDEO_HEIGHT=576 ID_VIDEO_FPS=25.000 ID_VIDEO_ASPECT=1.3333 ID_AUDIO_CODEC=mp3 ID_AUDIO_FORMAT=80 ID_AUDIO_BITRATE=192000 ID_AUDIO_RATE=48000 ID_AUDIO_NCH=2 ID_LENGTH=1535"
    DEBUG: parsed output for ORIG_X: "544"
    DEBUG: parsed output for ORIG_Y: "576"
    DEBUG: parsed output for ORIG_FPS: "25.000"
    DEBUG: parsed output for ORIG_ASPECT: "1.3333"
    DEBUG: parsed output for VIDEO_FORMAT: "0x10000002"
    DEBUG: parsed output for AUDIO_CODEC: "mp3"
    INFO: Source Video has Resolution of 544 x 576 ...
    DEBUG: PAL or unknown "25.000"
    DEBUG: Variable MAX_X has value "384"
    DEBUG: Variable NEW_Y has value "406"
    INFO: For Sqare Pixels we would scale to 384 x 406 ...
    DEBUG: Variable XResTEMP has value "352"
    DEBUG: Variable AnzahlVonXResTEMP has value "1"
    DEBUG: Variable NEW_X has value "352"
    DEBUG: setting REAL_Y = FULL_Y ""
    DEBUG: Variable CMDLINE has value "/usr/bin/mplayer -vo mpegpes -ao mpegpes -afm 9 -vop lavc=3000:25.000,expand=352:288:-1:-1:1,scale=352:288 -framedrop -cache 8096 -slave -nolirc -subpos 80 -sub-bg-color 0 -sub-bg-alpha 0 -quiet -idx"


    #########

    Hardware : Core2 2 Ghz / 1GB RAM / 750 GB HD / Nexus-s 2.3 / TT Budget
    OS : ct' distri (debian lenny)
    VDR : vdrdevel 1.7.12 multipatch
    Patches :
    Plugins : steamdev_server, , femon
    Client : Samsung UE40B8090 ; XMBMC auf Acer Revo

  • Hi,


    der MPEG-Decoder der Nexus wird in jedem Fall genutzt, denn anders als per MPEG-Stream kann man nichts über die DVB-Karten ausgeben. Deshalb muß der MPlayer ja alles on-the-fly in MPEG1 umwandeln, was nicht schon MPEG ist. In deinem Fall allerdings hat das Video keine DVB-konforme Auflösung und muß daher trotz MPEG erneut gewandelt werden. Dies sollte eigentlich auf einem P3 mit 1GHz und SLOW_CPU=true funktionieren.


    Ich kann jetzt nur Vermutungen anstellen:
    das -idx, welches ganz am Ende deiner Kommandozeile dranhängt, gehört nicht zum Standardumfang der mplayer.sh - vielleicht ist das das Problem?


    Oder aber, und das befürchte ich eher, scheint der mplayer-interne MPEG1-Encoder manchmal Probleme bei Szenen mit vielen Veränderungen zu haben. Allerdings sollte er sich mit LAVC=5000 oder kleiner zum Mitspielen überreden lassen. Ich habe leider noch keine Regelmäßigkeit ausmachen können; ich habe hier zweimal den gleichen Film - einmal in deutsch, einmal in englisch; der deutsche läuft wunderbar, der englische ruckelt an manchen Stellen (mit LAVC>5000) erheblich. Die Auflösungen sind mehr-oder-weniger identisch.


    Kann ich dir jetzt leider auch nicht weiterhelfen.


    Aus was für einer Quelle stammen den diese MPEG2 Filme?


    Gruß,
    Juri

  • Danke für die Antwort.


    Woher das -idx kommt weis ich auch nicht. Vieleicht hat da nochjemand eine Idee.


    Die MPEG2 dateien waren früher mal DVB Dateien, d.h. die wurden in der Auflösung gesendet. Ich hab die Sachen mit meinen DVB Receiver UFD552 empfangen, dann von desen Platte gezogen. Danach hab ich Video und Audiostream mit dem Project X von dvbMat korrigiert und dann mit bbmpeg wieder gemuxt. Beim muxen hab ich schon verschieden Settings benutzt (SVCD,MPEG2,DVD) es bleibt aber immer gleich.
    Ich denke es liegt schon daran, das er die Auflösung erst umrechnen will.
    Kann ich dem mPlayer nicht sagen, das er den Stream ohne umrechnen an die KArte schicken soll. Schliesslich kam der Stream ja auch in der Auflösung über den Sat.


    BY

    Hardware : Core2 2 Ghz / 1GB RAM / 750 GB HD / Nexus-s 2.3 / TT Budget
    OS : ct' distri (debian lenny)
    VDR : vdrdevel 1.7.12 multipatch
    Patches :
    Plugins : steamdev_server, , femon
    Client : Samsung UE40B8090 ; XMBMC auf Acer Revo

  • Hmm, ich habe zwar so meine Zweifel, daß es sich hierbei wirklich um eine DVB-Auflösung handelt, lasse mich aber gerne eines Besseren belehren ;)


    Am einfachsten mal den VDR anhalten (also killen) und dann in der Shell:


    mplayer -vo mpegpes -ao mpegpes /dein/video.mpg


    ohne irgendwelche weiteren Parameter.
    Entweder es spielt, dann ist die Auflösung tatsächlich DVB-Konform, bzw. wird zumindest von der Karte gefressen. Wenn nicht, dann sagt dir das der MPlayer schon.



    Gruß,
    Juri

  • Hi,


    ich habe den direkten Aufruf gemacht und die Filme spielen in absoluter Top Qualität ab. Was muss ich in den Settings setzen, damit das auch aus dem Plugin funktioniert?


    By

    Hardware : Core2 2 Ghz / 1GB RAM / 750 GB HD / Nexus-s 2.3 / TT Budget
    OS : ct' distri (debian lenny)
    VDR : vdrdevel 1.7.12 multipatch
    Patches :
    Plugins : steamdev_server, , femon
    Client : Samsung UE40B8090 ; XMBMC auf Acer Revo

  • Ahh, ok. Wieder etwas gelernt.


    In der mplayer.sh.conf:

    Code
    MPEG_DIRECT="true"


    außerdem die Zeile

    Code
    XResPAL=(352    480     528     688     704     720)

    in

    Code
    XResPAL=(352    480     528    544    688     704     720)


    abändern (ist nicht unbedingt notwendig).


    Weiterhin folgender Patch für die mplayer.sh (ungetestet, bitte mit "patch -l" anwenden):
    diff -u -r1.30 mplayer.sh


    Das letzere ist extrem unschön und wird hoffentlich von mir in der nächsten Release durch ein einfacheres Statement ersetzt.


    Gruß,
    Juri

Jetzt mitmachen!

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