Hilfe:Mpeg2dv.sh

From Wikimedia Commons, the free media repository
Jump to navigation Jump to search
This page is a translated version of a page Help:Mpeg2dv.sh and the translation is 100% complete. Changes to the translation template, respectively the source language can be submitted through Help:Mpeg2dv.sh and have to be approved by a translation administrator.

Wenn Deine Film-Editierungs-Software nicht direkt mpeg-Dateien von Deiner Digitalkamera importiert, kann es erforderlich sein, diese in dv zu konvertieren, um sie anschließend beispielsweise in iMovie zu importieren.

Anleitung

  1. Sichere den Code auf Deinem Schreibtisch. Stelle sicher, dass die Dateierweiterung wirklich .sh und nicht sh.txt ist.
  2. Speichere das Skript an einem geeigneten Ort, wie /usr/local/bin/mpeg2dv.sh unter Mac OS X oder zum Beispiel ~/bin/mpeg2dv.sh unter Linux, der unter Deiner $PATH environment-Variable ist, und mache das Skript ausführbar, wenn nötig.
  3. Öffne ein Terminal-Fenster (Terminal.app unter Mac OS X – dieses befindet sich im „Dienstprogramme“-Ordner des „Programme“-Ordners) und tippe:
mpeg2dv.sh anMpgFile.mpg anotherMpgFile.mpg

Das Ergebnis sollten .dv Dateien im besagten Unterordner sein.

Skript

#!/bin/sh

# This script converts mpeg files from a digital camera 
# into the DV format using the ffmpeg tool.
#
# Eric Kow
# Public domain - do whatever you want with this

FFMPEG_FLAGS="-ac 2 -ar 48000 -hq -s 720x480"
TYPE_1=
TYPE_2='-map 0:1 -map 0:0' 
TYPE_3='-map 0:2 -map 0:1'

try_ffmpeg() {
  IN_FILE=${1}
  OUT_FILE=${2}
  while [ "$#" -gt "2" ]
  do
    TYPE=${3}
    ffmpeg -i "${IN_FILE}" ${TYPE} ${FFMPEG_FLAGS} "${OUT_FILE}" || :
    if [ -s ${OUT_FILE} ]; then
      return 0
    else
      rm ${OUT_FILE}
    fi
    shift
  done
}

# for each file...
while [ "$#" -gt "0" ]
do
  # what file are we working on now?
  in_file=$1
  in_file_uscore=`echo ${in_file} | sed -e 's/ /_/g'`
  out_file_stem=`basename ${in_file_uscore} .mpg`
  out_file=${out_file_stem}.dv
  shift

  try_ffmpeg "${in_file}" "${out_file}"\
    "${TYPE_1}" "${TYPE_2}" "${TYPE_3}"
done