htorre
Goto Top

Batch Video Dateien zusammenführen ab bestimmer Größe und in aplhabetischer Reihenfolge

Hallo zusammen,

meine Kamera nimmt MTS-Dateien in alphabetischer Reihenfolge auf. Leider beträgt die maximale Dateigröße 1,97GB wodurch die Videoaufnahme in mehrere Dateien zerlegt wird.
Ich möchte gern ein Skript entwickelt, dass einen Ordner durchsucht und anhand der Dateigröße (falls diese kleiner als 1,97GB ist) erkennt, dass eine neue Videoaufnahme vorliegt.

Zusammensetzen will ich die die Dateien mit copy /b: Ist ja an sich klar: Solange die Dateien hinzufügen bis sie kleiner als 1.97GB sind.
Die Dateien auswerten möchte ich mit einer for Schleife. Der ganze Vorgang muss natürlich alphabetisch erfolgen, damit die richtige Videoteile zusammengefügt werden. Geht das ganze irgendwie elegant oder muss ich da erst mit dem Befehl dir in eine .txt schreiben und diese dann mit der for Schleife einlesen?

Ehrlich gesagt hat es bei praktischen Umsetzung dann gehabert (bei setlocal ENABLEDELAYEDEXPANSION hörte es dann auf bei mir :D )

Wäre über eine Lösung sehr dankbar!

Vielen Dank schon mal im vorraus

Content-Key: 316552

Url: https://administrator.de/contentid/316552

Printed on: April 26, 2024 at 04:04 o'clock

Member: kaiand1
kaiand1 Sep 29, 2016 at 20:55:13 (UTC)
Goto Top
Ich würde sagen das die Speicherkarte FAT16 ist da diese ein 2GB Limit hat und FAT32 ein 4GB Limit hat.
Wenn deine Kamera Problemlos FAT32 nutzten kann hast du so schonmal nur noch die Hälfte der Daten face-smile
Mitglied: 131026
131026 Sep 30, 2016 at 10:53:24 (UTC)
Goto Top
@echo off & setlocal enabledelayedexpansion
set "folderIN=E:\videos"  
set "folderOUT=E:\videos\fertig"  
set "filter=*.mts"  

if not exist "%folderOUT%" md "%folderOUT%" >nul  
set fileset=
set counter=1
for %%a in ("%folderIN%\%filter%") DO (  
	if "!fileset!" NEQ "" (set "fileset=!fileset!+"%%a"") else (set "fileset="%%a"")  
	if %%~za LSS 2115271393 (
		echo File %%a ist kleiner als 1.97GB, starte merging des Sets '!fileset!'  
		copy /b !fileset! "%folderOUT%\video_!counter!.mts"  
		set /a counter+=1
		set fileset=
	)
)
R.
Member: Endoro
Endoro Oct 01, 2016 at 03:25:26 (UTC)
Goto Top
Hallo @131026,
zwei Anmerkungen:
Bist du sicher, dass die Dateien alphabetisch sortiert aus der Forschleife kommen?
Ich würde Videos nicht mit "copy" sondern z.B. ffmpeg zusammenfügen.

Gruß, Endoro
Mitglied: 131026
131026 Oct 01, 2016 updated at 06:54:38 (UTC)
Goto Top
Hier tun sie das.

Ansonsten eine Schleife mit dir /b /s /a-d /on verwenden.

Ich würde auch ein Video-Join Tool bemühen, der TO wollts aber mit copy. Das kann er ja dann machen wie er lustig ist.

R.