1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

MKV4XBox360 - MKV umwandeln mit dem Ma

Dieses Thema im Forum "AppleScript" wurde erstellt von fragreaver, 13.02.09.

  1. fragreaver

    fragreaver Jonagold

    Dabei seit:
    13.02.09
    Beiträge:
    19
    Hallo Apfels! :)

    weiß garnicht, ob das hier das richtige Unterforum für sowas ist, aber sei's drum.

    Lange hab ich neidisch auf die Windows-Community geblickt, die ihre MKV-Videos ganz locker mit Gotsent für die XBox360 konvertieren können. Nach einigem Experimentieren mit div. Kommandozeilentools (ffmpeg, mencoder, mkvextract, mp4box) habe ich mir überlegt, das auch für OSX ein vernünftiges Programm zum umwandeln her soll. Also habe ich heute mit den Arbeiten an MKV4XBox360 angefangen.

    Das Programm wird mit Applescript-Studio realisiert und basiert auf o.g. Tools. Zu Anfang wird die Funktion noch relativ eingeschränkt sein, ich hoffe aber, dass sich das über die Zeit ändert :)

    Bisher habe ich folgende Funktionen fertiggestellt:

    • Interface
    • Variablen-Übergabe aus dem GUI

    Was da noch zu erledigen wäre...

    • Einbinden der Tools
    • Patchen der MKV via HexDump (konsole)
    • Encoden der Audiospur in AAC
    • Muxen von Audio und Video via mp4box

    Was mich schon zu meiner ersten Frage führt. Ich als (OSX)-Programmier-Anfänger weiß grad nicht, wie ich die anderen Binaries "ordentlich" in mein fertiges Programm einbringe. Einfach in MKV4XBox360.app/Frameworks kopieren und dann via
    Code:
    /Applications/MKV4XBox360.app/resources/mp4box -add video.mp4#video -add audio.mp4#audio -fps 25 output.mp4
    aus dem Programm heraus aufzurufen wäre wohl ziemlich unelegant, oder?

    Hier mal ein kleiner Ausblick (ist nicht viel, aber ich bin jetzt schon bisschen stolz :>)
    [​IMG]

    Ich werde sicherlich bisschen Hilfe benötigen, wenns mit AS mal hapert =)

    Danke schonmal für's Feedback!
     
  2. rockstario

    rockstario Braeburn

    Dabei seit:
    14.10.07
    Beiträge:
    42
    Beim Programmieren kann ich dir nicht helfen. Aber sag Bescheid, wenn du jemand zu Testen brauchst. Denn an einem solchen kleinen Helfer habe ich großes Interesse.
     
  3. Westbär

    Westbär Weißer Winterglockenapfel

    Dabei seit:
    06.04.07
    Beiträge:
    882
    Du kannst mp4box als Resource miteinbinden und dann NSTask benutzen, ich glaube nicht das du ein komplettes mp4box projekt einbinden willst.

    z.B

    Code:
    - (void)convert {
    // NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
    
    NSTask *task = [[NSTask alloc] init];
    [task setLaunchPath:[[[NSBundle mainBundle] resourcePath] stringByAppendingString:@"/mp4box"]];
    // arguments setzen
    // output pipen
    [task launch];
    
    // [pool release];
    }
    
    CocoaDev hat eine gute Wikiseite zu NSTask. http://www.cocoadev.com/index.pl?NSTask

    Gruß
     
    .holger gefällt das.
  4. odins

    odins Finkenwerder Herbstprinz

    Dabei seit:
    19.12.05
    Beiträge:
    470
    frag doch mal bei den machern von visual hub nach, die haben das doch schon :)
     
  5. fragreaver

    fragreaver Jonagold

    Dabei seit:
    13.02.09
    Beiträge:
    19
    Soooo

    Ich habs jetzt grob fertig zusammengeklöppelt. Aktuell noch alles bisschen wirr und GUI ist auch nich so pralle. Aber die Grundfunktion sollte klappen :)

    MKV4XBox

    Schnellanleitung liegt bei. Die Videos landen aktuell noch im Homeverzeichnis und ihr müsst die entpackte mkv selber löschen. Höchstens Alpha-Stadium :))

    Edit: Da fehlt noch was - die Datei mkvpatch muss ebenfalls ins home-dir :)
     
    #5 fragreaver, 14.02.09
    Zuletzt bearbeitet: 14.02.09
  6. fragreaver

    fragreaver Jonagold

    Dabei seit:
    13.02.09
    Beiträge:
    19
    Kleines Problem...

    Ich wollte gerade die Tools in das Programm einbinden (ich hab sie einfach in den Resources-Ordner im XCode hinzugefügt. Wie greife ich nun aber im Programm auf die zu? Die Pfadangabe muss ja relativ erfolgen, oder?

    Aktuell liegen die Dateien so:

    /Contents/Resources/ffmpeg
    /Contents/Resources/mkvmerge
    /Contents/Resources/mkvextract
    /Contents/Resources/mp4box

    Code:
    tell application "Terminal"
       do shell script "Untitled.app/Contents/Resources/mkvextract tracks " & thePathPosix & " 1:movie.x264 2:audio.ac3"
    end tell
    So klappt der Zugriff allerdings nicht, wäre ja zu einfach :> Jemand 'ne Idee?
     
  7. fragreaver

    fragreaver Jonagold

    Dabei seit:
    13.02.09
    Beiträge:
    19
    Weiß keiner weiter? :<

    edit» erledigt...ich geh einfach über /Library/Application Support ;)
     
    #7 fragreaver, 15.02.09
    Zuletzt bearbeitet: 15.02.09

Diese Seite empfehlen