Upload
harald-sack
View
533
Download
1
Embed Size (px)
DESCRIPTION
Technische Einführung zum Seminar "Multimedia Analyse Technologien" Sommersemester 2012, Hasso-Plattner-Institut, Universität Potsdam, Dr. Harald Sack
Citation preview
Die nichtkommerzielle Vervielfältigung, Verbreitung und Bearbeitung dieser Folien ist zulässig (Lizenzbestimmungen CC-BY-NC).
TECHNISCHE EINFÜHRUNGMULTIMEDIA ANALYSE-TECHNOLOGIEN
SeminarDr. Harald Sack / Jörg Waitelonis
Bernhard Quehl / Haojin Yang / Christian HentschelHasso-Plattner-Institut für Softwaresystemtechnik
Universität PotsdamSommersemester 2012
Monday, April 16, 12
Seminar: Multimedia-Analyse-Techniken, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2
Multimedia Analyse-Technologien
1. Infrastruktur2. Werkzeuge und Libraries3. Einrichten der Arbeitsumgebung4. Sonstiges
Monday, April 16, 12
Seminar: Multimedia-Analyse-Techniken, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
3
Multimedia Analyse-TechnologienInfrastruktur
Debian 6.0.4 wurde am 28. Januar 2012 veröffentlicht.Debian “Squeeze”http://www.debian.org/releases/stable/
Es können auch andere Linuxe o.ä. verwendet werden.Am Ende sollte der Code aber auf Debian Squeeze lauffähig sein.
Monday, April 16, 12
Seminar: Multimedia-Analyse-Techniken, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
4
Multimedia Analyse-Technologien
1. Infrastruktur2. Werkzeuge und Libraries3. Einrichten der Arbeitsumgebung4. Sonstiges
Monday, April 16, 12
Seminar: Multimedia-Analyse-Techniken, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
5
Multimedia Analyse-TechnologienWerkzeuge und Libraries
Die Toolsuite für das Seminar:
• mediainfo
• ffmpeg (Video Transcoder)
• lib-avformat, lib-avcodec, lib-avutil
• OpenCV (Computer Vision Library)
Monday, April 16, 12
Seminar: Multimedia-Analyse-Techniken, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
6
Multimedia Analyse-TechnologienWerkzeuge und Libraries
http://mediainfo.sourceforge.net/Version 0.7.56
MediaInfo provides easy access to technical and tag information about video and audio files.
>>> mediainfo <filename>
Monday, April 16, 12
Seminar: Multimedia-Analyse-Techniken, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
7
Multimedia Analyse-TechnologienWerkzeuge und Libraries
Container: *.mp4, *.avi, *.mov, *.mxf, *.ogg, ...
codec(Videostrom): mp2, mp4, divx, xvid, sorenson, avc-intra, QuickTime, h264, HuffYUV, DVCPRO, ...
codec(Audiostrom): mp2 layer 3(mp3), aac, pcm, ...
Digitale Video-Files bestehen aus:
• Container (Format)
• Videostrom kodiert in einem bestimmtem Videocodec
• Audiostrom kodiert in einem bestimmtem Audiocodec
• ggf. weiteren Datenströmen: z.B. Metadaten, TimeCodes, etc.
Dazu mehr zum nächsten Termin am Mittwoch ...
Monday, April 16, 12
Seminar: Multimedia-Analyse-Techniken, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
8
Multimedia Analyse-TechnologienWerkzeuge und Libraries
http://ffmpeg.org/ Version 0.10.2
FFmpeg is a complete, cross-platform solution to record, convert and stream audio and video.
>>> ffmpeg -i input.avi output.mp4
Monday, April 16, 12
Seminar: Multimedia-Analyse-Techniken, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
9
Multimedia Analyse-TechnologienWerkzeuge und Libraries
http://code.opencv.org/Version 2.3.1
OpenCV (Open Source Computer Vision) is a library of programming functions for the realtime computer vision.
Monday, April 16, 12
Seminar: Multimedia-Analyse-Techniken, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
10
Multimedia Analyse-Technologien
1. Infrastruktur2. Werkzeuge und Libraries3. Einrichten der Arbeitsumgebung4. Sonstiges
Monday, April 16, 12
Seminar: Multimedia-Analyse-Techniken, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
11
Multimedia Analyse-TechnologienVorbereitungen
• alle Tools am besten im eigenen Home-Verzeichnis bauen
• dafür einfach im Home-Verzeichnis einen (versteckten) Order anlegen
> cd /home/joerg
> mkdir .local
> cd .local
Monday, April 16, 12
Seminar: Multimedia-Analyse-Techniken, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
12
Multimedia Analyse-Technologienffmpeg Kompilieren
• Download und Entpacken:
> wget http://ffmpeg.org/releases/ffmpeg-0.10.2.tar.bz2
> tar xjvf ffmpeg-0.10.2.tar.bz2
> cd ffmpeg-0.10.2
Monday, April 16, 12
Seminar: Multimedia-Analyse-Techniken, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
13
Multimedia Analyse-Technologienffmpeg Kompilieren
• Konfigurieren:
> ./configure --prefix=/home/joerg/.local --enable-pic --enable-shared --enable-gpl --enable-nonfree --enable-postproc --enable-version3
• ggf. zusätzliche Optionen (falls die entsprechenden Libs bereits im System sind):--enable-libfaac --enable-libmp3lame --enable-libx264 --enable-libxvid --enable-pthreads
• ggf. zusätzliche Option für Mac:--cc=clang Alle Optionen erhält man mit:
> ./configure --help
ACHTUNG: Hier keine ~ verwenden um das Home-Verzeichnis zu referenzieren.
Monday, April 16, 12
Seminar: Multimedia-Analyse-Techniken, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
14
Multimedia Analyse-Technologienffmpeg Kompilieren
• Kompilieren und Installieren:
> make
> make install
Monday, April 16, 12
Seminar: Multimedia-Analyse-Techniken, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
15
Multimedia Analyse-TechnologienOpenCV Kompilieren
• Vorbereitungen:Damit OpenCV auch das ffmpeg findet, das ja nicht im System, sondern lokal installiert ist, müssen einige Umgebungsvariablen aktualisiert werden:
> LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/.local/lib
> export LD_LIBRARY_PATH
> PKG_CONFIG_PATH=$PKG_CONFIG_PATH:~/.local/lib/pkgconfig
> export PKG_CONFIG_PATH
• Um die Pfade auch nach dem nächsten Login zu exportieren können die Befehle in ~/.bashrc eingetragen und ~/.bash_profile ergänzt werden um:
if [ -f ~/.bashrc ];then
source ~/.bashrcfi
Monday, April 16, 12
Seminar: Multimedia-Analyse-Techniken, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
16
Multimedia Analyse-TechnologienOpenCV Kompilieren
• Download und Entpacken
> cd ..
> wget http://dfn.dl.sourceforge.net/project/opencvlibrary/opencv-unix/2.3.1/OpenCV-2.3.1a.tar.bz2
> tar xjvf OpenCV-2.3.1a.tar.bz2
> cd OpenCV-2.3.1
Monday, April 16, 12
Seminar: Multimedia-Analyse-Techniken, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
17
Multimedia Analyse-TechnologienOpenCV Kompilieren
• Kompilieren
> mkdir build
> cd build
> cmake -D CMAKE_INSTALL_PREFIX=~/.local ../
> make
> make install
Monday, April 16, 12
Seminar: Multimedia-Analyse-Techniken, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
#include <iostream>#include <string>#include <opencv2/opencv.hpp>
int main(int argc, char** argv) { cv::VideoCapture capture(argv[1]); if(!capture.isOpened()) return -1; cv::Mat frame; int frameCnt = 0; while(1){ if(!capture.read(frame)) break; if (frameCnt % 100 == 0) { std::stringstream ss; ss << "frames/" << frameCnt << ". jpg"; std::string f ilename = ss.str(); cv::imwrite(f ilename, frame); } ++frameCnt; } std::cout << "Extracted " << frameCnt << " frames from videof ile " << argv[1] << std::endl;}
18
Multimedia Analyse-TechnologienOpenCV Beispiel: Frame-Extractor
frameextractor.cpp
Monday, April 16, 12
Seminar: Multimedia-Analyse-Techniken, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
19
Multimedia Analyse-TechnologienOpenCV Beispiel: Frame-Extractor
> g++ `pkg-config --cflags opencv` frameextractor.cpp -o frameextractor `pkg-config --libs opencv`
• Kompilieren
• Ausführen
>./frameextractor input.mp4
Monday, April 16, 12
Seminar: Multimedia-Analyse-Techniken, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
20
Multimedia Analyse-Technologien
1. Infrastruktur2. Werkzeuge und Libraries3. Einrichten der Arbeitsumgebung4. Sonstiges
Monday, April 16, 12
Seminar: Multimedia-Analyse-Techniken, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
21
Multimedia Analyse-TechnologienSonstiges
Redmine zur Projektverwaltung und Dokumentation
• pro Gruppe ein Projekt• Wiki• Issue-Tracker
• Version Management Framework kann selbst ausgewählt werden
http://mediaglobe.yovisto.com/redmine/projects/mumat2012
Monday, April 16, 12
Seminar: Multimedia-Analyse-Techniken, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
• Coding Style !!!• Dokumentation!• Kommunikation!
•Ausgabeformat: Einfache Text-Datei, pro Zeile eine Framenummer und Run-ID
•Evaluationstool: wird noch (online) zur Verfügung gestellt
22
Multimedia Analyse-TechnologienSonstiges
Monday, April 16, 12
Seminar: Multimedia-Analyse-Techniken, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
23Literatur
• Gibbon, D. ; Liu, Z. : Introduction to Video Search Engines. Berlin : Springer, 2008
• Bradski, G. ; Kaehler, A. : Learning OpenCV. Beijing : O'Reilly, 2008
• Blog zur Webseite:http://mumat2012.blogspot.com/
Multimedia Analyse-Technologien
Monday, April 16, 12