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
- 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:
- Web Interface -> http://localhost:8080
- Mousegesten
- http://wiki.videolan.org/Interface
- Shoutcast Playlisten (Radio, TV)
xine
- Multimedia Player (als DVD-Player gut geeignet)
- Plugin-Architektur
- Backend: libxine1
- Frontends: xine-ui, kaffein, totem
$ xine --list-plugins
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
odergl
-Treiber - Videoausgabe mit
x11
-Treiber ohne Hardwarebeschleunigung (Shared Memory) - interessante Effekte mit
aa
bzw.caca
-Treiber (ASCII Art)
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
$ ffmpeg -i <infile.wmv> <outfile.flv>
- 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)
$ mencoder -ovc help -oac help
- Konfigurieren der Audio- und Videoencoder
- Beispiel und Parameter: MEncoder Howto, libavcodec
$ 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]
- Frontends für mencoder: http://www.mplayerhq.hu/design7/projects.html#mencoder_frontends
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
# 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
- http://www.kdenlive.org/
- unterstützt diverse Ein-/Ausgabeformate
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
- http://www.lucike.info/page_projectx.htm
- in Java implementierter Demultiplexer
- unterstützt MPEG2-Datenströme
- Schnittfunktionalität
weitere Tools
DVD-Slideshow
- Erzeugt DVD-Video aus Digitalfotos
- GUI: http://qdvdauthor.sourceforge.net/
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