-

Helmcam Projekt Kajak, MTB,...

Übersicht Befestigung Verkabelung Bearbeitung Download Kontakt

Detailiertere Informationen zur Video-Nachbearbeitung


aktualisiert am 27.6.05

Meine Vorgehensweise:

  1. Die Videoclips etwas bearbeiten und entwackeln und im DV-Format speichern (Achtung: DV-Codec muß installiert sein). Damit kann ich im Schnittprogramm wie gewohnt mit diesen Clips arbeiten.
  2. Film zurechtschneiden und zusammenstellen, mit Videoschnitt-programm oder mit Trim() und "+" in AviSynth.
  3. Wenn gewünscht, den Film für PC/Internet reduzieren und mit einem Codec Deiner Wahl (Empfehlung Xvid) komprimieren.
Beispielskripte findest Du ganz am Schluß dieser Datei.

---

Die Videoclips bearbeite ich mit der Video-Skriptsprache AVISynth (Freeware). Dort kann man Befehle zur Veränderung des Clips wie in einem Batch Programm zeilenweise abarbeiten lassen.

Die Skripts können mit jedem Player angeschaut werden. Am besten funktioniert das mit VirtualDub bzw. VirtualDubMod (beide Freeware). Letzteres bietet auch einen einfachen Editor, um die Skriptdateien zu
bearbeiten.

Es gibt für beide Programme (VirtualDub und AviSynth) jede Menge zusätzliche Filter für spezielle Bearbeitungen.

Ein wichtiger Filter für meine Videos ist der DeShaker von Gunnar Thalin. Diesen Filter gibt es nur für VirtualDub. Im ersten Schritt analysiert dieser Filter das Video nach Bewegungsvektoren und errechnet daraus horizontale und vertikale Bewegung, Verdrehung und Zoom. Im zweiten Schritt werden alle zeitlichen Bewegungs-Verläufe weichgerechnet und das Video dementsprechend verschoben/gedreht/gezoomt. Allerdings braucht die Einstellung der Parameter für diesen Filter einiges an Bastelarbeit bzw. Erfahrung. Im resultierenden Video fehlt teilweise an den Rändern Bildinformation, wodurch schwarze Ränder oder Bildartefakte entstehen. Diese Ränder sollte man wegschneiden. Berücksitige aber, daß der Fernseher sowieso ca. 10% am Rand nicht darstellen kann.

---

zu 1. Vorbearbeitung:


Der Skript des modifizierten Clip wird in VirtualDub(mod) geladen und der DeShake-Filter angewandt. Das Ergebnis mit dem DV-Codec (sofern einer am System installiert ist) abspeichern. Die Clips sind dann im gleichen Format wie alle anderen, welche direkt mit der Videokamera gefilmt wurden und lassen sich im Schnittprogramm beliebig arrangieren.

---

Für eine Darstellung am Computer halte ich folgende weitere Bearbeitungsschritte für sinnvoll, für Verbesserungsvorschläge bin aber jederzeit dankbar:

---

Im folgenden noch Beispiele:


1. Skript, der zum Deshaken geladen wird (zb. open.avs)

   # load the external filter
   LoadPlugin("D:\Programme\AviSynth 2.54\Plugins\Cnr2.dll")

   # Open avi in YUY2 colorspace
   AVISource("F:\Work\20\050328_Helm4.avi",pixel_Type="YUY2")

   # use frame 100 to 1000
   Trim(200,1000)

   # remove some noise
   TemporalSoften(2,6,0,15,2)

   # remove chroma noise and strongly smooth chroma
   cnr2("xoo")
   chroma = Blur(1).Blur(1)
   MergeChroma(chroma)

   # increase saturation
   Tweak(sat=1.1)

   # reduce black level
   Levels(20,1,255,0,255)

   # sharpen, but each field separately
   SeparateFields.Sharpen(.4).weave

---

2. Meine Parameter für den Filter DeShake;
   Speichern in Datei "deshake.vcf" und in VDub laden (Strg+L)

VirtualDub.video.filters.Add("Deshaker v1.4");
VirtualDub.video.filters.instance[0].Config("3|2|24|4|1.067|-1|1.067|
   -1|720|576|0|1|1|1000|1000|1000|0|2|1|0|2|5|20|500|4|
   F:\\Work\\20\\050331_MR1.log|0|1|100|100|40|150|
   0|0|0|0|0|1|0|1|10|10|5|15|1|1|25|25");
(alles in 1 Zeile)

---

3. Weitere Bearbeitung für PC

   # load and append some clips
   AVISource("F:\Work\20\050404_MR1.avi",pixel_Type="YUY2")+\
   AVISource("F:\Work\20\050404_MR2.avi",pixel_Type="YUY2")+\
   AVISource("F:\Work\20\050404_MR3.avi",pixel_Type="YUY2")

   # crop clip on all sides
   Left=32
   Top=16
   Crop(Left,Top,-Left,-Top)

   # select only bottom field
   SeparateFields
   SelectOdd

   # reduce black level and adjust gamma for PC
   Levels(16,1.2,255,0,255)

   # increase saturation
   Tweak(sat=1.2)

   # reduce size by f and mutiple of 16
   f=0.70
   LanczosResize(Round((720-2*Left)*f/16)*16,\
       Round((576-2*Top)*f/16)*16)

   # Audio to mono and 32kHz
   ConvertToMono
   ResampleAudio(32000)

---

Gutes gelingen, Norbert