23
Die nichtkommerzielle Vervielfältigung, Verbreitung und Bearbeitung dieser Folien ist zulässig (Lizenzbestimmungen CC-BY-NC ). TECHNISCHE EINFÜHRUNG MULTIMEDIA ANALYSE-TECHNOLOGIEN Seminar Dr. Harald Sack / Jörg Waitelonis Bernhard Quehl / Haojin Yang / Christian Hentschel Hasso-Plattner-Institut für Softwaresystemtechnik Universität Potsdam Sommersemester 2012 Monday, April 16, 12

02 Multimedia Analyse Technologien - Technologie-Einführung SS 2012

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

Page 1: 02 Multimedia Analyse Technologien - Technologie-Einführung SS 2012

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

Page 2: 02 Multimedia Analyse Technologien - Technologie-Einführung SS 2012

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

Page 3: 02 Multimedia Analyse Technologien - Technologie-Einführung SS 2012

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

Page 4: 02 Multimedia Analyse Technologien - Technologie-Einführung SS 2012

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

Page 5: 02 Multimedia Analyse Technologien - Technologie-Einführung SS 2012

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

Page 6: 02 Multimedia Analyse Technologien - Technologie-Einführung SS 2012

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

Page 7: 02 Multimedia Analyse Technologien - Technologie-Einführung SS 2012

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

Page 8: 02 Multimedia Analyse Technologien - Technologie-Einführung SS 2012

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

Page 9: 02 Multimedia Analyse Technologien - Technologie-Einführung SS 2012

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

Page 10: 02 Multimedia Analyse Technologien - Technologie-Einführung SS 2012

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

Page 11: 02 Multimedia Analyse Technologien - Technologie-Einführung SS 2012

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

Page 12: 02 Multimedia Analyse Technologien - Technologie-Einführung SS 2012

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

Page 13: 02 Multimedia Analyse Technologien - Technologie-Einführung SS 2012

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

Page 14: 02 Multimedia Analyse Technologien - Technologie-Einführung SS 2012

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

Page 15: 02 Multimedia Analyse Technologien - Technologie-Einführung SS 2012

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

Page 16: 02 Multimedia Analyse Technologien - Technologie-Einführung SS 2012

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

Page 17: 02 Multimedia Analyse Technologien - Technologie-Einführung SS 2012

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

Page 18: 02 Multimedia Analyse Technologien - Technologie-Einführung SS 2012

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

Page 19: 02 Multimedia Analyse Technologien - Technologie-Einführung SS 2012

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

Page 20: 02 Multimedia Analyse Technologien - Technologie-Einführung SS 2012

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

Page 21: 02 Multimedia Analyse Technologien - Technologie-Einführung SS 2012

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

Page 22: 02 Multimedia Analyse Technologien - Technologie-Einführung SS 2012

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

Page 23: 02 Multimedia Analyse Technologien - Technologie-Einführung SS 2012

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