Beim mir tritt beim Schneiden von AVCHD-Files meiner Videokamera auf meinem 2.4GHz Quadcore immer noch starkes Ruckeln bei der Vorschau auf, weshalb das Schneiden fast nicht möglich ist.
Durch Konvertierung des AVCHD-Files in ein 720p MP4-AVI File wird das Video praktisch ohne Verlust in ein verwendbares Format umgewandelt wo kein Ruckeln mehr auftritt.
Die Umwandlung mache ich auf einem Ubuntu 10.04LTS mit:
Durch Konvertierung des AVCHD-Files in ein 720p MP4-AVI File wird das Video praktisch ohne Verlust in ein verwendbares Format umgewandelt wo kein Ruckeln mehr auftritt.
Die Umwandlung mache ich auf einem Ubuntu 10.04LTS mit:
ffmpeg -i quelldatei.MTS -r 25 -s hd720 -b 5000k -acodec copy -vcodec mpeg4 zieldatei.avi
Um die Sache zu Vereinfachen habe ich den Aufruf in einem Perl-Scripts verpackt, welches alle angegebenen MTS-Dateien konvertiert und leicht mit find automatisiert werden kann!
#!/usr/bin/perl
# kopiere das scripts nach /usr/bin und mach es ausführbar
# sudo cp mtsconv.pl /usr/bin/mtsconv.pl
# sudo chmod 755 /usr/bin/mtsconv.pl
# am einfachsten zu kombinieren mit find
# find . -name "*.MTS" -exec mtsconv.pl "{}" ";"
use strict;
my @dateiliste;
my $loeschen = 0;
sub help
{
print "
***************************************************************
Script wandelt alle angegebenen .MTS-Dateien in .avi Dateien um
damit bei Openshot beim Schneiden kein Ruckeln auftritt!
Aufruf: mtsconv.pl [parameter] Dateiname [Dateiname ...]
Parameter:
-d Quelldateien nach dem Konvertieren löschen
am einfachsten zu kombinieren mit find:
find . -name \"*.MTS\" -exec mtsconv.pl \"{}\" \";\"
**************************************************************
";
exit;
}
if ($#ARGV<0) { help(); }
foreach(@ARGV)
{
if ($_ eq '-d')
{
$loeschen=1;
} elsif ($_ eq "-h" || $_ eq "--help")
{
help();
} elsif ($_ =~ m/^-.*/)
{
print "Parameter $_ ist nicht definiert!\n";
exit;
} else {
push(@dateiliste,$_);
}
}
if ($#dateiliste<0) { help(); }
foreach(@dateiliste)
{
if (($_ =~ m/^(.*)\.[Mm][Tt][Ss]/) && (-f $_))
{
my $file = $1;
if (-f $file.'.avi') { `rm '$file.avi'`;}
my $bef = "ffmpeg -i '$_' -r 25 -s hd720 -b 5000k -acodec copy -vcodec mpeg4 '$file.avi'";
print "$bef\n";
`$bef`;
$bef = "touch -r '$_' '$file.avi'";
print "$bef\n";
`$bef`;
if ($loeschen) { `rm $_`; }
}
}
Nettes Skript. Anregung für eine ev. Verbesserung:
AntwortenLöschenLeider geht das Aufnahmedatum verloren. Alle Filme haben das das Datum der Konvertierung. Vielleicht kann man das Datum entweder in den Dateinamen irgendwie reinbringen oder eben das Datum mitnehmen.
lg
spegu
Hab das Script korrigiert. Nun wird auch das Datum gesetzt und man kann mit -d das Löschen der Originaldateien einschalten.
AntwortenLöschenKlasse, damit ist auch mein Problem gelöst. Noch eine Frage: In welchem Format (Ziel, Videoprofil nach OpenShot-Terminologie) sollte man das geschnittene Video exportieren, um ein optimales Ergebnis zu erhalten?
AntwortenLöschenIch verwende immer "AVI(mpeg4)" mit "HDV 720 25p", das hat eine sehr gute Bildqualität bei brauchbarem Speicherverbrauch.
AntwortenLöschenJa, das gefällt mir auch. Vielen Dank für die Tipps!
AntwortenLöschenViele Grüße