Hallo,
was benutzt ihr denn, um mehrere Tonspuren aus Videos zu extrahieren? Wenn möglich kostenfrei.
Liebe Grüße
Um schreiben oder kommentieren zu können, benötigst du ein Benutzerkonto.
Du hast schon ein Benutzerkonto? Melde dich hier hier an.
Jetzt anmeldenHier kannst du ein neues Benutzerkonto erstellen.
Neues Benutzerkonto erstellenHallo,
was benutzt ihr denn, um mehrere Tonspuren aus Videos zu extrahieren? Wenn möglich kostenfrei.
Liebe Grüße
Kleine selbstgeschriebene exe die ffmpeg aufruft. Also ffmpeg. Keine Ahnung obs für ffmpeg evtl auch eine GUI gibt die das unterstützt. Kann Dir auch gerne mein Minitool geben. Im Prinzip kann das auch noch etwas mehr, ist aber eher ein Relikt aus alten Zeiten ..
Virtualdub 2
Bei Audio -> Source Audio
die Audiospur wählen
dann jeweils
File - Save Audio.
Danke
Dann probier ichs mal mit VirtualDub.
ff
Boah ist das rechtsbündig beim Schreiben irritierend, dachte gerade schon der Browser hängt/wär abgeschmiert, weils ich im Textfeld beim Tippen nicht links nichts getan hat. xD
Hier ist mein krasses Tool: https://1drv.ms/u/s!AlNGd4g1Vh9rmwvmLCE4CiTnhHS_?e=2L0HIo
Wie gesagt es macht nix anderes als ffmpeg zu steuern. In der Config (FFmpegFileMergerSettings.json) muss Du eintragen, wo sich Dein ffmpeg und MediaInfo CLI (Command Line MediaInfo ohne GUI) befindet. Das MediaInfo nutze ich um die FPS auszugeben, weil ich mal ne zeitlang kontrollieren wollte ob das Video 60 fps oder 59,97 fps hat. Sollte eine Audiodatei mal nicht die richtige Endung haben, kann man die in der Config auch noch auf eine andere Endung mappen.
Einfach die exe und die Config Datei in einen Ordner ablegen und ein Videofile auf die exe droppen, dann fragt er was er damit machen soll.
Als erste ob er die gedropte Datei in den Ordner der exe kopieren oder verschieben soll. Zu beantworten mit c, m oder n, also copy, move oder nothing.
Dann fragt er ob er audio extrahieren soll. Zu beantworten mit y oder n, also yes oder no.
Und zuletzt fragt, ob die Dateien umbenannt werden soll, so dass die dem Ordernamen entsprechen. Auch zu beantworten mit y oder n, also yes oder no.
Der Name des Tools kommt btw daher, weil ich die exe ursprünglich dazu benutzt habe, um 2 Video Dateien zusammen zu mergen, wenn man 2 Videodateien auf die exe dropt. Die Funktion benutze ich schon lange nicht mehr, könnte aber noch funktionieren. xD
FFMpeg Download:
https://ffmpeg.org/download.html#build-windows
https://www.gyan.dev/ffmpeg/builds/
https://github.com/BtbN/FFmpeg-Builds/releases
MediaInfo CLI Download:
https://mediaarea.net/de/MediaInfo/Download/Windows
Hier ist auch noch der Quick&Dirty Code zum selbst compilen:
//args = new string[] { @"E:\Lets Play\MHGU\2 Edited\39-40\20180913_212456.MOV", @"E:\Lets Play\MHGU\2 Edited\39-40\20180913_215119.MOV", @"E:\Lets Play\MHGU\2 Edited\39-40\20180913_221741.MOV" };
endAndOutputResult(new List<string>() { "No arguments given. Press any key to exit." }, ConsoleColor.Red);
targetFile = Path.Combine(targetPath, new DirectoryInfo(targetPath).Name + fileSuffix + Path.GetExtension(file));
targetFile = Path.Combine(targetPath, Path.GetFileNameWithoutExtension(file) + fileSuffix + Path.GetExtension(file));
extractAudioFromVideoFile(file, Path.Combine(Path.GetDirectoryName(targetFile), Path.GetFileNameWithoutExtension(targetFile)), fileSuffix, messages);
CopyFileExWrapper.CopyFile(file, targetFile, CopyFileOptions.FailIfDestinationExists, outputCopyProgress);
endAndOutputResult(new List<string>() { "Nothing done. Press any key to exit." }, ConsoleColor.Red);
private static void extractAudioFromVideoFile(string file, string targetFileWithoutExtension, string fileSuffix, List<string> messages)
string targetFile = targetFileWithoutExtension + "-audioextract-" + (audioCount + 1) + audioExtension;
ProcessStartInfo info = new ProcessStartInfo(config["FFmpegFilePath"], "-i \"" + file + "\"" + argumentString);
ProcessStartInfo info = new ProcessStartInfo(config["MediaInfoCliFilePath"], $"--output=Audio;\"%Format% \" \"{ file }\"");
foreach (IConfigurationSection child in config.GetSection("AudioCodecsFileExtensions").GetChildren())
ProcessStartInfo info = new ProcessStartInfo(config["MediaInfoCliFilePath"], $"--output=Video;\"%FrameRate_Mode% %FrameRate% \" \"{ file }\"");
private static void mergeVideoFiles(string[] files, bool extractAudioAfter, string fileSuffix, List<string> messages)
string targetFile = Path.Combine(targetPath, new DirectoryInfo(targetPath).Name) + fileSuffix + Path.GetExtension(files[0]);
extractAudioFromVideoFile(targetFile, Path.Combine(Path.GetFullPath(targetFile), Path.GetFileNameWithoutExtension(targetFile)), fileSuffix, messages);
CopyFileExWrapper.CopyFile(inputFilePath, outputFilePath, CopyFileOptions.FailIfDestinationExists, outputCopyProgress);
using (FileStream targetFileStream = new FileStream(outputFilePath, FileMode.CreateNew, FileAccess.Write, FileShare.None))
Könnte man auch mit was einfacherem wie PowerShell machen, aber in C# bin ich mehr im Thema und schneller.
Ich habe das Gefühl das es am OBS Update liegt. Denn Wolfsherz hat mit TMPGEnc auch Audioprobleme seit kurzem
Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!