Lange Videos aufteilen. Viele Wege führen Nach Rom nur welcher ist der Richtige?

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Lange Videos aufteilen. Viele Wege führen Nach Rom nur welcher ist der Richtige?

    Anzeige
    Moin zusammen. Vielleicht ist es für einige Leute zuviel Text, aber ich lege mal los.

    Ich habe recht oft sehr lange Videos. Teilweise 2+ / 3+ Stunden. Aufgenommen auf verschiedene Art. Von OBS, Fraps, GoPro, Videocam, Shadowplay usw.
    Bearbeitet werden die in Sony Vegas, da Textfelder, Infoboxen usw da noch mit nin müssen. Natürlich auch Filter.

    So, bis jetzt habe ich die recht angenehme Batch Funktionvon Vegas dazu genutzt. Regionen makiert und der PC konnte ind er Nacht werkeln und bis zum Morgen dann die einzelnen Videos ausspucken. Fertig, zum Upload / Versenden etc.

    Aus Langeweile ich habe ich dann mal geschaut, wie man es auch anders (besser) machen kann. Dabei raus kam nun Vegas (das bleibt auch) Frameserver / Sagaras Scriptmaker / MeGUI. Den Kram noch mit MKVMerge zusammen basteln (Ton und Bild). Das geht bei mir aber nur, wenn ich das sehr lange Video auch so lassen. Möchte ich es mehrere Teile schneiden, gibt es mehrere Probleme.

    Zuerst einmal, Versuch 1. Den Ablauf beibehalten, Nachts soll der PC werkeln und am Morgen die einzelnen Abschnitte auf der Platte liegen, damit nur noch MKVMerge zu tun ist.
    Nachgelesen und erst einmal in Sagaras Scriptmaker die Funktion "CUT" gefunden.

    Ok, dachte ich mir. Mach das mal. Die genauen Frames habe ich ja.
    Dabei habe ich dann zB 4 AVS angelegt, jeweils als Grundlage das lange Video, artig vorgegangen mit Vdub usw. In MeGUI habe ich dann alle AVS eingelesen, Audio, ab in die Queue.
    Am nächsten Morgen waren dann auch alle einzelnen Teile da, nur der Ton passte ausschliesslich beim ersten Teil. Alle Ton-Files der Teile 2+ waren entweder Zerhauen (Brummgeräusche), Stumm, oder der Tonabschnitt passte garnicht. Die Bildfiles waren aber genau richtig geschnitten, wo ich es wollte

    Ok, Variante 2

    Ein großes Video via Vegas - Scriptmaker - MeGUI
    Und dann in mkvmerge und dort mal die Funktion "Aufteilungsmodus" genutzt. So kann Nachts das große Video gerendert werden und am Morgen ist nur noch wenig Arbeit vorhanden.
    Pustekuchen. Teil 1 ist noch ok, bei allen anderen Teilen ist der Ton zerhauen, oder bleibt stumm. Ohne Aufteilung ist der Ton ok. 8|

    Zur Technik.

    Die Files werden von einer SSD gelesen und auf eine andere SSD geschrieben. Es ist also nicht nur eine Platte im Spiel. NAtürlich habe ich es auch mal versucht mit nur einer Platte. Ist egal, trotzdem zerhauen.
    Kürzere Video sind in dem Fall nicht zu machen, weil zB die GoPro Aufn.gerne mal 2h lang sind.

    Wie gehe ich denn nun vor, damit der PC die Teile automatisch aufteilen kann, wenn ich ihm die Frames mitteile / von mir aus auch die Sekunden vorgebe. Von Vegas aus, denn darin werden die bearbeitet.

    So, schönen Abend noch.
  • DerOberNoob schrieb:

    Dabei habe ich dann zB 4 AVS angelegt, jeweils als Grundlage das lange Video, artig vorgegangen mit Vdub usw. In MeGUI habe ich dann alle AVS eingelesen, Audio, ab in die Queue.
    Am nächsten Morgen waren dann auch alle einzelnen Teile da, nur der Ton passte ausschliesslich beim ersten Teil. Alle Ton-Files der Teile 2+ waren entweder Zerhauen (Brummgeräusche), Stumm, oder der Tonabschnitt passte garnicht. Die Bildfiles waren aber genau richtig geschnitten, wo ich es wollte


    Den Ton musst du wenn du mit dem SSM in mehrere Teile aufteilen lassen willst mit dem Frameserver mitübertragen. Damit Video und Audio von deiner NLE in den SSM einfließen.

    Danach sollteste im SSM unter Audio die Option "Audio Track Export bei Skriptspeicherung aktivieren" und als Anzahl der Tracks die "1" hinschreiben. Mischen brauchste nicht.

    Sinn des ganzen: Wenn du das Skript speichern tust, wird er automatisch den Ton zu den Cuts als WAV via VirtualDub erstellen. Da du mit dem Frameserver nur eine Spur jeweils nur überträgst, brauchst du auch nur 1 Track ausgeben lassen.

    Dann speicherst du z.B. dein ersten Skript mit den ersten Cuts und automatisch erzeugt dann SSM über VirtualDub auch den Audiopart mit den gleichen Cutpunkten. So das sie zum Video immer passen.

    Diese erzeugten WAV Files sind dann exakt zum jeweiligen Skript und können dann mit MeGUI encodiert werden.

    Hast du das so mal gemacht?
  • @Sagaras Vegas hat sehr gerne die Eigenschaft die letzte sekunde des audios zu wiederholen wenn der Audio übern Frameserver geht, daher wird diese Methode leider wegen verbugter software nicht gehen.. Er muss also eine WAV exportieren aus Vegas und damit weiter arbeiten, oder der bessere Weg: Vegas weglassen und mit avisynth arbeiten :P

    ach und @DerOberNoob Abgesehen von Fraps sind all deine genannten Programme eine saumäßige Grundbasis für weitere Codierungen. Benutz bitte Programme die nicht bereits verlustkomprimiert aufnehmen.
    Aktuelle Projekte/Videos




    Seit etlichen Monaten komplett veraltete Signatur, wie ihr sicherlich schon bemerkt habt. Habe mittlerweile mehr als 4 Projekte, weshalb die Signatur leider momentan gesprengt ist xD
    Notdürftig die Liste was aktuell läuft: Unreal | Complex DooM (LPT) | DooM 2016 | Need For Speed III: Hot Pursuit | Dirt Rally | Dirt 4 | WRC 7
  • Anzeige

    De-M-oN schrieb:

    Vegas hat sehr gerne die Eigenschaft die letzte sekunde des audios zu wiederholen wenn der Audio übern Frameserver geht

    Nicht aber wenn er die Parts in AVISynth cuttet. Weil dann existiert kein Rest mehr. ;D
    Also auch keine Wiederholungen
  • Da wär ich mir bei Vegas nicht so sicher :S Aber gut, versuch isses wert.
    Aktuelle Projekte/Videos




    Seit etlichen Monaten komplett veraltete Signatur, wie ihr sicherlich schon bemerkt habt. Habe mittlerweile mehr als 4 Projekte, weshalb die Signatur leider momentan gesprengt ist xD
    Notdürftig die Liste was aktuell läuft: Unreal | Complex DooM (LPT) | DooM 2016 | Need For Speed III: Hot Pursuit | Dirt Rally | Dirt 4 | WRC 7
  • Moin.

    De-M-oN schrieb:


    ach und @DerOberNoob Abgesehen von Fraps sind all deine genannten Programme eine saumäßige Grundbasis für weitere Codierungen. Benutz bitte Programme die nicht bereits verlustkomprimiert aufnehmen.


    Nunja. Es gibt u.a. in einigen Situationen keine Wahl. Wie Du oben gesehen hast sind auch zB GoPro Aufnahmen dabei.
    Wie soll ich denn Deiner Meinung nach die Software "Fraps" an den Gimbal eines Multicopter hängen? ;)

    Es geht ja eher um den Weg, wie man lange Videos am besten cutten kann.

    Vegas, weil Zusatzinfos eingeblendet werden, mehrere Videos gleichzeitig zu sehen sind (dabei handelt es sich um Aufnahmen aktiver Vulkane, als Beispiel)
    Wie soll denn das zB avisynth gehen? ;) Man muss sich ja nicht das Leben extrem schwer machen. Natürlich werde ich mir das aber auch einmal anschauen.

    Aus dem Grund habe ich ja oben geschrieben, Vegas bleibt. Darin werden die Videos bearbeitet. Ist ja jetzt eher mal egal, was da zu sehen ist. Ob nun ein Capture eines Games via Fraps, oder sonst was. Möchte nur einmal wissen, wie man am besten vor geht, wenn lange Videos in Vegas sind und ich die in Teile schneiden möchte, ohne nun die Batchfunktion (und Render) von Vegas zu benutzen.

    Es geht ja dabei nicht um Async, sondern das der Ton komplett im Eimer war, bei den weiteren Teilen des Videos. Deshalb suche ich die Ursache, wo mein Fehler liegt.

    Gruß
  • Vegas belastet aber die Qualität ebenfalls. Weil es erstmal die Videos in RGB32 konvertiert, der Frameserver konvertiert den farbraum auch nochmal (es sei denn du wählst hier ebenfalls RGB)
    Und wenn die Aufnahme schon vor-verlustkomprimiert ist, ist das auch keine gute Idee das nochmal wieder lossy zu encoden. Über Vegas ist auch der Weg länger, heißt also unnötig mehr Encodezeit. Wäre eben alles mit Avisynth vermeidbar.
    Ebenso wäre der vorhin angesprochene Audiobug von Vegas vermeidbar. Cutten und Jobliste wäre ohne abhängigkeit anderer Software natürlich auch entspannter^^

    Nunja. Es gibt u.a. in einigen Situationen keine Wahl. Wie Du oben gesehen hast sind auch zB GoPro Aufnahmen dabei.
    Wie soll ich denn Deiner Meinung nach die Software "Fraps" an den Gimbal eines Multicopter hängen?

    Und für was soll Shadowplay oder OBS nötig sein?
    Aktuelle Projekte/Videos




    Seit etlichen Monaten komplett veraltete Signatur, wie ihr sicherlich schon bemerkt habt. Habe mittlerweile mehr als 4 Projekte, weshalb die Signatur leider momentan gesprengt ist xD
    Notdürftig die Liste was aktuell läuft: Unreal | Complex DooM (LPT) | DooM 2016 | Need For Speed III: Hot Pursuit | Dirt Rally | Dirt 4 | WRC 7
  • DerOberNoob schrieb:

    Aus dem Grund habe ich ja oben geschrieben, Vegas bleibt. Darin werden die Videos bearbeitet.

    Versuch dafür mal ein Aufnahmeprogramm zu nehmen, welches in RGB24 aufnimmt. Z.B. MSI Afterburner + MagicYUV Codec und dann compress as it is einstellen.
    Damit sollten viele Probleme aus dem Weg geschafft sein :)
    ~ Let's plays, Animes, Cinematics, Zeichnungen ~ :D
  • GrandFiredust schrieb:

    Damit sollten viele Probleme aus dem Weg geschafft sein


    Oder die Festplatte explodieren :D
    Aktuelle Projekte/Videos




    Seit etlichen Monaten komplett veraltete Signatur, wie ihr sicherlich schon bemerkt habt. Habe mittlerweile mehr als 4 Projekte, weshalb die Signatur leider momentan gesprengt ist xD
    Notdürftig die Liste was aktuell läuft: Unreal | Complex DooM (LPT) | DooM 2016 | Need For Speed III: Hot Pursuit | Dirt Rally | Dirt 4 | WRC 7
  • Ich mag qualmende Festplatten die dann über Windwos so als Meldung so ein Countdown runterzählen und sich dann sprengen xD

    Hmm... Ist wie mit meinen Schrank manchmal. Ich stopfe da manchmal aus Eile soviel rein sodas der Schrank bald noch mal in Eimer ist. Aber Gut. Bei Festplatten dauert das ein bisschen länger :D
  • Moin.

    Die Antwort hat etwas gedauert, aber ich muss mal wieder fix beruflich weg.
    Hier mal die Mediadaten eines Files, ich bin jetzt mal vor gegangen, wie es Sagaras gesagt hat. Ist ein Testfile.

    Allgemein
    Vollständiger Name : Z:\RAW\Crestron-Dev 2014-12-24 03-16-24-04.avi
    Format : AVI
    Format/Info : Audio Video Interleave
    Format-Profil : OpenDML
    Dateigröße : 48,0 GiB
    Dauer : 19min
    Gesamte Bitrate : 345 Mbps

    Video
    ID : 0
    Format : Fraps
    Codec-ID : FPS1
    Dauer : 19min
    Bitrate : 344 Mbps
    Breite : 1 920 Pixel
    Höhe : 1 080 Pixel
    Bildseitenverhältnis : 16:9
    Bildwiederholungsrate : 30,000 FPS
    ColorSpace : YUV
    BitDepth/String : 8 bits
    Bits/(Pixel*Frame) : 5.524
    Stream-Größe : 47,7 GiB (100%)

    Audio
    ID : 1
    Format : PCM
    Format-Einstellungen für Endianess : Little
    Format-Einstellungen für Sign : Signed
    Codec-ID : 1
    Dauer : 19min
    Bitraten-Modus : konstant
    Bitrate : 1 536 Kbps
    Kanäle : 2 Kanäle
    Samplingrate : 48,0 KHz
    BitDepth/String : 16 bits
    Stream-Größe : 218 MiB (0%)
    Ausrichtung : Ausgerichtet an Interleaves
    Interleave, Dauer : 999 ms (29,98 Video-Frames)

    Ich habe das nun einmal so verarbeiten wollen, wie es oben angegeben war.
    Testschnitte sollten nach 10 und 15 Minuten erfolgen, hatte dafür die Frames angegeben.

    Im Ergebnis passiert dann genau das, was immer passiert.
    Part 1 = alles ok. Bild und Ton ok
    ab Part 2 ist der Ton zerhauen. Damit meine ich, es gibt zB einen Brummton, zerstückelter Ton wie zB zur Verzerrung usw

    Schneide ich nicht, ist Bild und Ton des ganzen Video ok.

    Bearbeitung via Vegas, da im Video zB Einblendungen von Schaltplänen, Zusatztexten usw zu bestimmten Zeitpunkten erfolgen müssen und mit Vegas ich das mache.

    Edit


    Dann speicherst du z.B. dein ersten Skript mit den ersten Cuts und automatisch erzeugt dann SSM über VirtualDub auch den Audiopart mit den gleichen Cutpunkten. So das sie zum Video immer passen.


    Und da liegt wohl das Problem. Ich habe es genau so gemacht, wie oben beschrieben.
    SSM erzeugt dann auch das wav, via VirtualDub beim Speichern, nur es ist ein SOundfile und das ist genau so lange wie das original File ohne Cuts.

    Das AVS dazu sieht dann so aus. Ist von einem zweiten Testvideo:

    Quellcode

    1. ### SagaraS Scriptmaker - Version 5.4 ###
    2. ### Lade Plugins und setze die globalen Variablen ###
    3. LoadPlugin("I:\letsplay\SagaraS Scriptmaker\Plugins\resamplehq.dll")
    4. Global breite = 2048
    5. Global hoehe = 1152
    6. Global AR = 0
    7. ### Lade Videoquellen ###
    8. AVIload("I:\letsplay\Doorkicker\Folge-1-3.avi", 0, 0, 0, -0, -0, "Auto", "Auto", 0, 0)
    9. ### Filter Verarbeitungszone ###
    10. video = last
    11. v0 = video.Trim(0, 30031)
    12. v1 = video.Trim(30032, 56933)
    13. v2 = video.Trim(56934, 94719)
    14. v0 ++ v1 ++ v2
    15. ### Funktion für Video-Laderoutine ###
    16. Function AVIload (String file, int loading, int cl, int co, int cr, int cu, string pixtype, string afps, int fpsn, int fpsd) {
    17. (loading == 1) ? FFIndex(file) : nop()
    18. clip0 = (loading == 3) ? LWLibavVideoSource(file) : (loading == 2) ? Import(file).KillAudio() : (loading == 1) ? FFVideoSource(file, threads=1) : (pixtype == "Auto") ? AVISource(file, false).KillAudio() : AVISource(file, false, pixel_type=pixtype).KillAudio()
    19. rate1 = (afps == "Auto") ? (Round(Float(clip0.framerate * 1000)) / 1000) / 2 : nop()
    20. rate2 = (afps == "Auto") ? Round(clip0.framerate) / 2 : nop()
    21. rate = (afps == "Auto") ? (rate1 == rate2) ? 1 : 1001 : (afps == "Igno.") ? clip0.frameratedenominator : fpsd
    22. ratefaktor = (afps == "Auto") ? (rate == 1001) ? 1000 : 1 : nop()
    23. clip1 = (afps == "Auto") ? (rate == 1001) ? clip0.AssumeFPS(Round(clip0.Framerate) * 1000, rate) : clip0.AssumeFPS(round(clip0.framerate), rate) : (afps == "Igno.") ? clip0.AssumeFPS(clip0.frameratenumerator, rate) : clip0.AssumeFPS(fpsn, rate)
    24. clip1 = (clip1.IsRGB32() == True) ? clip1.ConvertToRGB24() : clip1
    25. clip1 = (cl != 0) ? clip1.Crop(cl, co, cr, cu) : (co != 0) ? clip1.Crop(cl, co, cr, cu) : (cr != 0) ? clip1.Crop(cl, co, cr, cu) : (cu != 0) ? clip1.Crop(cl, co, cr, cu) : clip1
    26. clip1 = (clip1.width == breite && clip1.height == hoehe) ? clip1 : (AR == 1) ? ((float(Clip1.height * breite) / clip1.width) / 2 == round((float(Clip1.height * breite) / clip1.width) / 2)) ? ((float(Clip1.width * hoehe) / clip1.height) / 2 == round((float(Clip1.width * hoehe) / clip1.height) / 2)) ? clip1 : clip1.ConvertToRGB24() : clip1.ConvertToRGB24() : clip1
    27. clip1 = (clip1.width == breite && clip1.height == hoehe) ? clip1 : (AR == 1) ? (((clip1.width * hoehe) / clip1.height > breite) ? Clip1.ResampleHQ(breite, ceil(float(Clip1.height * breite) / clip1.width), Kernel = "Spline16", dstcolorspace="RGB24", srcmatrix = "TV.601", dstmatrix = "TV.709") : Clip1.ResampleHQ(ceil(float(clip1.width * hoehe) / clip1.height), hoehe, Kernel = "Spline16", dstcolorspace="RGB24", srcmatrix = "TV.601", dstmatrix = "TV.709")) : clip1.ResampleHQ(breite, hoehe, Kernel = "Spline16", dstcolorspace="YV12", srcmatrix = "TV.601", dstmatrix = "TV.709")
    28. back = (clip1.width == breite && clip1.height == hoehe) ? clip1 : (AR == 1) ? (afps == "Auto") ? (0 == 1) ? ImageReader("", 0, clip1.framecount - 1, clip1.framerate).ChangeFPS(round(clip1.framerate) * ratefaktor, rate).ResampleHQ(breite, hoehe, Kernel = "Spline16", dstcolorspace="YV12", srcmatrix = "TV.601", dstmatrix = "TV.709") : BlankClip(clip1.framecount, breite, hoehe, "YV12", round(Clip1.framerate) * ratefaktor, rate).KillAudio() : (0 == 1) ? ImageReader("", 0, clip1.framecount - 1, clip1.framerate).ChangeFPS(clip1.frameratenumerator, clip1.frameratedenominator).ResampleHQ(breite, hoehe, Kernel = "Spline16", dstcolorspace="YV12", srcmatrix = "TV.601", dstmatrix = "TV.709") : BlankClip(clip1.framecount, breite, hoehe, "YV12", clip1.frameratenumerator, clip1.frameratedenominator).KillAudio() : clip1
    29. Return (clip1.width == breite && clip1.height == hoehe) ? clip1.ConvertToYV12(matrix = "Rec709") : (AR == 1) ? Overlay(back, clip1, (back.width - clip1.width) / 2, (back.height - clip1.height) / 2) : clip1
    30. }
    Alles anzeigen

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von DerOberNoob ()

  • Ich werde wohl mal ein Debughäkchen noch mit einbauen im SSM für Soundexport.

    Du kannst den Debug aber auch machen.

    Mach mal folgendes:
    1. Begib dich mit deinem Explorer in den Ordner vom [lexicon]SSM[/lexicon]. Dort wo du [lexicon]SSM[/lexicon] hininstalliert hast.
    2. Starte [lexicon]SSM[/lexicon] und lade das Video wie sonst auch.
    3. Erstelle den Cut für den 2ten Part
    4. Exportiere nun die erste Spur mit [lexicon]SSM[/lexicon] über [lexicon]VirtualDub[/lexicon].
      1. In diesem Zeitpunkt wo er [lexicon]VirtualDub[/lexicon] öffnet und die Audiodatei speichern will taucht ein Skript im [lexicon]SSM[/lexicon] Ordner auf der sich __temp.avs nennt.
      2. Kopiere alle __temp.avs Datein (Auch wenn Nummeriert) raus und füge sie woanders ein, damit [lexicon]SSM[/lexicon] beim Speicherungsende die AVS Skripte nicht löscht.
      3. Diese Skripte sind die Audioskripte. Diese am besten erst mal posten hier.
        Und als weiteres sollteste mal das Skript via [lexicon]VirtualDub[/lexicon] öffnen und abspielen lassen. Weil dann sollteste den Ton hören.

        Und wenn der dann immer noch blöd klingt (brummt oder was auch immer), dann überschauen wir die Skripte mal oder ein anderer sollte das gleiche mal testen mit seiner [lexicon]NLE[/lexicon].

        @GelberDrache92 könnte das ja dann mal testen ob das bei ihm auch so wäre.

        Wenn es aber sich aber reproduziert bei ihm, dann wird die [lexicon]NLE[/lexicon] das nicht korrekt und sauber übertragen.

        @De-M-oN hat ja bereits gesagt das die Soundübertragung via [lexicon]Frameserver[/lexicon] von Vegas am Ende den Ton wiederholt. Könnte eine Verbindung sein damit.

        Mein Gedanke war es ja das es beim Cutten nicht der Fall sein würde.

        Aber das müssten wa alles mal durchtesten.
    Ich frage mich grad auch wie diese Frameserver Datei vom DebugMode Frameserver in der Mediainfo aussieht mit samt Audiopart? Könnte da mal einer eine Mediainfo zu posten wenn das geht?
  • Moin.

    Ich habe gerade noch einen Test gemacht, damit ich das _temp avs abgreifen kann.
    Es erzeugt übgrigends nur ein einziges Tempfile. Nicht mehrere.

    Hier das Ergebnis, daraus:

    Quellcode

    1. AVIload("I:\letsplay\Doorkicker\Ohne Titel.avi", 0, 0, "Auto", 0, 0)
    2. video = last
    3. v0 = video.Trim(0, 30031)
    4. v1 = video.Trim(30032, 56933)
    5. v2 = video.Trim(56934, 94719)
    6. v0 ++ v1 ++ v2
    7. Function AVIload(string file, int extern, int indexf, string afps, int fpsn, int fpsd) {
    8. Try {
    9. (extern==1) ? LoadPlugin("I:\letsplay\SagaraS Scriptmaker\Plugins\FFMS2.dll") : nop()
    10. clip0 = (indexf==3) ? LoadPlugin("I:\letsplay\SagaraS Scriptmaker\Plugins\LSMASHSource.dll") : (indexf==1) ? LoadPlugin() : (indexf == 2) ? Import(file) : (extern == 1) ? AVISource(file, audio=false) : AVISource(file, audio=true)
    11. clip0 = (indexf==3) ? AudioDub(LWLibavVideoSource(file), LWLibavAudioSource(file, 1)) : (indexf==1) ? FFIndex(file) : clip0
    12. clip0 = (indexf==1) ? AudioDub(FFVideoSource(file, threads=1), FFAudioSource(file, track=1)) : clip0
    13. rate1 = (afps == "Auto") ? (Round(Float(clip0.framerate * 1000)) / 1000) / 2 : nop()
    14. rate2 = (afps == "Auto") ? Round(clip0.framerate) / 2 : nop()
    15. rate = (afps == "Auto") ? (rate1 == rate2) ? 1 : 1001 : (afps == "Igno.") ? clip0.frameratedenominator : fpsd
    16. ratefaktor = (afps == "Auto") ? (rate == 1001) ? 1000 : 1 : nop()
    17. clip1 = (afps == "Auto") ? (rate == 1001) ? clip0.AssumeFPS(Round(clip0.Framerate) * 1000, rate) : clip0.AssumeFPS(round(clip0.framerate), rate) : (afps == "Igno.") ? clip0.AssumeFPS(clip0.frameratenumerator, rate) : clip0.AssumeFPS(fpsn, rate)
    18. clip1 = clip1
    19. clip1 = clip1.PointResize(2048, 1152).ConvertToRGB24()
    20. Try {
    21. clip1 = (indexf==1 || indexf==3) ? clip1 : (extern == 1) ? clip1.AudioDub(WAVSource(file+".WAV")) : clip1
    22. }
    23. Catch (Error_2) {
    24. clip1 = (indexf==1 || indexf==3) ? clip1 : (extern == 1) ? clip1.AudioDub(FFAudioSource(file+".WAV")) : clip1
    25. }
    26. Track1 = clip1.KillVideo()
    27. Track1 = Track1++Tone(float(round(float(clip1.Framecount/(clip1.framerate))*Track1.audiorate - Track1.audiolength))/Track1.audiorate, 0, Track1.audiorate, Track1.audiochannels, "Silence")
    28. Track1 = Track1.StereoChannel().SSRC(44100, false).ConvertAudioTo16bit()
    29. return Audiodub(clip1, Track1)
    30. }
    31. Catch (Error_1) {
    32. clip0 = (indexf==3) ? LoadPlugin("I:\letsplay\SagaraS Scriptmaker\Plugins\LSMASHSource.dll") : (indexf==1) ? LoadPlugin() : (indexf == 2) ? Import(file).KillAudio() : (extern == 1) ? AVISource(file, audio=false) : AVISource(file, audio=false)
    33. clip0 = (indexf==3) ? LWLibavVideoSource(file) : (indexf==1) ? FFIndex(file) : clip0
    34. clip0 = (indexf==1) ? FFVideoSource(file, threads=1) : clip0
    35. rate1 = (afps == "Auto") ? (Round(Float(clip0.framerate * 1000)) / 1000) / 2 : nop()
    36. rate2 = (afps == "Auto") ? Round(clip0.framerate) / 2 : nop()
    37. rate = (afps == "Auto") ? (rate1 == rate2) ? 1 : 1001 : (afps == "Igno.") ? clip0.frameratedenominator : fpsd
    38. ratefaktor = (afps == "Auto") ? (rate == 1001) ? 1000 : 1 : nop()
    39. clip1 = (afps == "Auto") ? (rate == 1001) ? clip0.AssumeFPS(Round(clip0.Framerate) * 1000, rate) : clip0.AssumeFPS(round(clip0.framerate), rate) : (afps == "Igno.") ? clip0.AssumeFPS(clip0.frameratenumerator, rate) : clip0.AssumeFPS(fpsn, rate)
    40. clip1 = clip1
    41. return BlankClip(length=clip1.framecount, width=2048, height=1152, fps=30).ChangeFPS(clip1.frameratenumerator, clip1.frameratedenominator).StereoChannel().SSRC(44100, false).ConvertAudioTo16bit().ConvertToRGB24()
    42. }
    43. }
    44. Function StereoChannel(clip audio) {
    45. Try { return audio.GetChannel(1,2) }
    46. Catch (Error_2) { Return audio.GetChannel(1,1) }
    47. }
    48. Function MonoChannel(clip audio) {
    49. Try { return Mixaudio(audio.GetChannel(1),audio.GetChannel(2)) }
    50. Catch (Error_1) { Return audio.GetChannel(1) }
    51. }
    Alles anzeigen
  • DerOberNoob schrieb:

    v0 = video.Trim(0, 30031)
    v1 = video.Trim(30032, 56933)
    v2 = video.Trim(56934, 94719)
    v0 ++ v1 ++ v2


    das ergibt jetzt kein sinn. Du splittest es in 3 teile und machst am Ende die 3 teile wieder zusammen.

    der erste befehl sagste du willst 0 bis 30031 vom Video nehmen und in die variable v0 setzen
    die zweite zeile sagste du willst 30032 bis 56933 nehmen und in variable v1 setzen
    die dritte zeile sagste du willst 56934 bis 94719 nehmen und in variable v2 setzen
    in 4te zeile sagste du willst den part v1 an v0 hängen und v2 an v1 anhängen.

    Und was haste davon?

    Wenn nur 0 bis 30031 im video bleiben soll und der Rest weg, dann musste auch den rest weglassen :P sprich 0 bis 30031 eintragen und nix weiteres.

    Für Part 2 muss dann natürlich ein neues Script her und in dieses kommt dann 30032 bis 56933 rein und nix weiteres.
    usw.
    Aktuelle Projekte/Videos




    Seit etlichen Monaten komplett veraltete Signatur, wie ihr sicherlich schon bemerkt habt. Habe mittlerweile mehr als 4 Projekte, weshalb die Signatur leider momentan gesprengt ist xD
    Notdürftig die Liste was aktuell läuft: Unreal | Complex DooM (LPT) | DooM 2016 | Need For Speed III: Hot Pursuit | Dirt Rally | Dirt 4 | WRC 7
  • Wenn ich das Script da oben so sehe mit den ganzen Try/Catch und IF-Verschachtelungen weiß ich wieso ich meine eigenen Scripte schreibe statt so ein "Universal-Script" zu nutzen... wie sagte mal jemand in einer Talkshow? "Das ist wie mit Tauben auf Spatzen zu schießen!"
    ——YouTube————————————————————————————————————————————
    — Endlos-Projekte: Minecraft (SinglePlayer), Craft The World, Banished, Besiege, Sims4
    — ..Abgeschlossen: Leisure Suit Larry 6+7, Dishonored, Surface 2+3, Mirrors Edge, uvm
    — . Kurz- Projekte: The Tower, Fighting Is Magic, Euro Truck Simulator 2, uvm
    — ......Retro-Ecke: Day Of The Tentacle, Flight Of The Amazon Queen, NFS: HP2, uvm
    ————————————————————————————————————————————TbMzockt.de—
  • TbMzockt schrieb:

    Wenn ich das Script da oben so sehe mit den ganzen Try/Catch und IF-Verschachtelungen weiß ich wieso ich meine eigenen Scripte schreibe statt so ein "Universal-Script" zu nutzen... wie sagte mal jemand in einer Talkshow? "Das ist wie mit Tauben auf Spatzen zu schießen!"


    Vor allem wenn DU keine Ahnung davon hast :P
    Tut mir leid, aber das muss ich wirklich mal sagen zu dir. Mach es besser bzw. gib mir Tipps oder unterlass deine Schießbudenbemerkungen du Senfkanone.

    Sry für die Ausdrucksweise, aber ich hab das Gefühl das alles... aber wirklich alles was De-M-oN und ich machen und reden irgendwo gegen ne Wand bei dir abprallen.

    Du hast den SSM doch noch nie probiert, aber nörgelst über den Code rum. Mach es besser, sofern du wissen solltest wozu es dienen soll :P
  • Sagaras schrieb:

    Vor allem wenn DU keine Ahnung davon hast

    Deinem Programm fehlt das "Vorgeplänkel", es ist ein Copy&Paste-Programm welches ScriptStücke aneinanderhängt ohne wirkliche Validitätsprüfung vorweg (sonst würde es zB. seine 3 Schnitte als zusammengehörig erkennen und die TRIMs weglassen).

    Die "Power" liegt somit im AVS-Script und nicht im Programm was es erstellt.

    Dein Programm sollte sich von jeder VideoDatei vorab die Grunddaten ziehen und sie entsprechend im erstellen AVS "Hardcoden", es ändert sich zB. selten im laufenden VideoFile die Tonspur oder Framerate, daher ist es unnötig und kostet Performance wenn man in jedem Frame erneut per Try/Catch ermittelt wie viele Kanäle die Audiospur hat, das gehört nicht in ein AVS.

    teejeetech.in/2013/01/mediainf…per-for-net-projects.html

    Sonst probier mal VapourSynth, das basiert auf Python.
    ——YouTube————————————————————————————————————————————
    — Endlos-Projekte: Minecraft (SinglePlayer), Craft The World, Banished, Besiege, Sims4
    — ..Abgeschlossen: Leisure Suit Larry 6+7, Dishonored, Surface 2+3, Mirrors Edge, uvm
    — . Kurz- Projekte: The Tower, Fighting Is Magic, Euro Truck Simulator 2, uvm
    — ......Retro-Ecke: Day Of The Tentacle, Flight Of The Amazon Queen, NFS: HP2, uvm
    ————————————————————————————————————————————TbMzockt.de—

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von TbMzockt ()