Springe zum Hauptinhalt

Video

Videotools


Grundlagen und Begriffe

  • Video: -> Folge von Einzelbildern
  • Framerate: -> zeitlicher Abstand zwischen zwei aufeinanderfolgenden Einzelbildern
    • < 10 fps wird vom menschlichen Auge als Bildfolge erkannt
    • 10 .. 16 fps Bewegungseffekt, aber mit ruckeln
    • > 16 fps "weiche" Bewegung
  • Scanrate: -> Bildaufbau bei Monitoren (TV: 50 .. 100 Hz)


Videoquelle / Digitalisierung

analoge Video

  • VHS Videorecorder, VHS-C Kamera
  • Digitalisierung mittels Framegrabber
    • analog TV-Karten mit BT878-Chip (keine Kompression)
    • MPEG-Encoder (z.B. Hauppauge PVR 150/250/350/500)

DV-Video

  • Camcorder, Videorocorder mit DV-Ausgang (FireWire®, i.Link®, IEEE 1394)
  • digitale Schnittstelle (serielle Bus)

MPEG-Video

  • Festplatten/DVD-Camcorder
  • DVD und DVB (Digital Video Broadcast)


Standards und Formate

Standards (digital)

  • PAL
    • 720 × 576 Bildpunkte
    • 25 fps (50 Halbbilder je s)
  • NTSC
    • 720 x 480 Bildpunkten
    • 29,97 fps

  • Halbbilder -> interlaced
  • Vollbilder -> progressiv

Videoformate (Auswahl)

Format Name Anmerkung
MJPEG Motion JPEG Kompression jedes Einzelbildes als JPEG
http://de.wikipedia.org/wiki/MJPEG
DV Digital Video MJPEG-ähnliches Kompressionsverfahren,
http://de.wikipedia.org/wiki/Digital_Video
MPEG Moving Picture Experts Group Kompression von Einzelbildgruppen anhand von Differenzen
http://de.wikipedia.org/wiki/Moving_Picture_Experts_Group
AVI Audio Video Interleave Containerformat für Audio, Video, ...
http://de.wikipedia.org/wiki/AVI
DivX, Xvid   MPEG4-Implementationen
http://www.divx.com
MOV QuickTime Movie Videoformat des QuickTime-Frameworks
http://de.wikipedia.org/wiki/QuickTime
FLV Flash Video proprietäres Containerformat für Wiedergabe mit Flash-Player
http://de.wikipedia.org/wiki/FLV

Wiedergabe

VLC media player

vlc_player.png

  • freier, für verschiedene Plattformen verfügbarer Mediaplayer
  • unterstützt viele aktuelle Codecs
  • auch als Streamingserver einsetzbar
  • Browserplugin verfügbar (z.B. ZDF Mediathek)
  • verschiedene Interface zur Steuerung:
  • Shoutcast Playlisten (Radio, TV)

xine

  • Multimedia Player (als DVD-Player gut geeignet)
  • Plugin-Architektur
  • Backend: libxine1
  • Frontends: xine-ui, kaffein, totem

$ xine --list-plugins

xine hat eine integrierte Schnappschuss-Funktion für Einzelbilder.

mplayer

  • universeller Medienplayer
  • über mozplugger gut in Browser einbettbar
  • Beachte wahl des Video-Ausgabetreibers:

$ mplayer -vo help

  • Analyse von Videodaten

$ mplayer -identify [-ao null] [-vo null] [-frames 0] <infile>
ID_VIDEO_ID=0
ID_AUDIO_ID=128
ID_AUDIO_ID=1
ID_AUDIO_ID=0
MPEG-PS file format detected.
VIDEO:  MPEG2  720x576  (aspect 3)  25.000 fps  15000.0 kbps (1875.0 kbyte/s)
ID_DEMUXER=mpegps
ID_VIDEO_FORMAT=0x10000002
ID_VIDEO_BITRATE=15000000
ID_VIDEO_WIDTH=720
ID_VIDEO_HEIGHT=576
ID_VIDEO_FPS=25.000
ID_AUDIO_CODEC=a52
ID_VIDEO_ASPECT=1.7778

Video-Ausgabetreiber

  • viele Grafikkarten(treiber) unterstützen die Ausgabe mittels X-Video -Erweiterung
    • schnelle, hardwareunterstützte Bilddarstellung
    • verfügbar ab XFree86 4.x

$ xvinfo

  • alternative Videoausgabe mittels sdl oder gl -Treiber
  • Videoausgabe mit x11 -Treiber ohne Hardwarebeschleunigung (Shared Memory)
  • interessante Effekte mit aa bzw. caca -Treiber (ASCII Art)

mplayer_asciiart.png

Formatkonvertierung

ffmpeg

  • Projekt zum Aufzeichnen, Konvertieren, Abspielen und Streamen multimedialer Inhalte
  • Kern ist die libavcodec -Bibliothek, welche alle unterstützten Audio- und Videocodecs enthält
  • libavformat -Bibliothek organisiert Ein- und Ausgabe der unterstützen Formate
  • keine Unterstützung nativer Win32-Codecs

Die von ffmpeg unterstützen Formate und Codecs werden mit der Option -formats angezeigt.

$ ffmpeg -i <infile.wmv> <outfile.flv>

Hinweise und Beispiel zur Verwendung sind in der ffmpeg FAQ dokumentiert.

  • einfaches Beispiel Handyvideo (Nokia E71)

$ ffmpeg -i <infile.wmv> -aspect 4:3 -s 320x240 -vb 320000 <outfile.mp4>

mencoder

  • Teil des MPlayer-Projektes
  • zusätzliche Unterstützung nativer Codecs (Win32, Real)
  • siehe auch MEncoder Howto

  • Wahl des Ausgabe-Containerformates (-of) und der Encoder für Audio und Video (-ovc und -oac)

Für die Encoder von Audio und Video ist die libavcodec -Bibliothek eine gute Wahl.

$ mencoder -ovc help -oac help

$ mencoder -quiet <infile>
            -of lavf 
            -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=600:mbd=2:trell
            -oac lavc -lavcopts acodec=ac3
            -o <outfile>
            [-lavfopts i_certify_that_my_video_stream_does_not_use_b_frames]

Die Videooptionen mbd=2:trell:v4mv verbessern die Qualität der Ausgabe, erhöhen aber auch die Kodierungszeit. (Macroblock-Parameter)

mjpegtools

  • Werkzeuge für Aufzeichnung und Konvertierung von motionJPEG- und MPEG-Formaten
  • häufig für die Generierung/Ausgabe von MPEG-Videos benutzt
  • Ausgabeformate unterstützten die Standards von VCD, SVCD und DVD

Erstellen eines DVD-konformen MPEG2-Videos aus Einzelbilder:

# Bild im Format 720x576px
# Anzahl=zeit(sek)*25
$ jpeg2yuv -I t -L 1 -n Anzahl -f 25  -j <bild.jpg>  | mpeg2enc -f 8 -n p -o video.m2v

$ mplayer <infile.mp3> -ao pcm:file=audio.pcm
$ cat audio.pcm | mp2enc -v 0  -r 48000 -b 192 -o audio.mp2

$ mplex -f 8 -o video.mpg video.m2v audio.mp2

Video-Editoren

MainActor

  • http://www.mainconcept.com
  • Entwicklung eingestellt
  • kommerzielle, aber vollwertige Demo nutzbar (Wasserzeichen in der Ausgabe)
  • Arbeit mit DV, und MPEG-Videos

Kdenlive

kino

  • http://www.kinodv.org
  • freie Entwicklung
  • Unterstützung von DV (Grab von Kamera), Szenenerkennung
  • Einfache Schnittfunktionen
  • einfache Effekte via Plugins
  • Ausgabe über mjpegtools

cinelerra

Project-X

screenshot_projectx.png

weitere Tools

DVD-Slideshow

Streams mit xine aufzeichnen

  • je nach Buildoptionen ist xine in der Lage, Streams der Protokolle: mms, http, rtp, rtsp, usw wiederzugeben
  • Aufzeichnung erfolgt durch Anhängen der Option #save:outfile an den Medien-URL
  • vor der Aufzeichnung muß der "Pfad zum Sichern von Datenströmen" (capture.save_dir) in den Einstellungen konfiguriert werden.

$ xine --list-plugins=input
Dies ist xine (X11 gui) - Ein freier Video-Player v0.99.5.
(c) 2000-2007 Das xine Team.

 Verfügbare xine-Plugins:
   -Eingang:
     gnomevfs, v4l_radio, v4l_tv, mms, CD, http, VCD, rtp, stdin, DVD, VCDO,
     FILE, rtsp, XVDR, pvr, pnm, tcp, DVB.

$ xine mms://media.server.domain/path/to/media#save:video.wmv