Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

777 views

Published on

Technische Einführung zum Seminar "Multimedia Analyse Technologien" Sommersemester 2012, Hasso-Plattner-Institut, Universität Potsdam, Dr. Harald Sack

Published in: Technology
  • Be the first to comment

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

  1. 1. 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 Die nichtkommerzielle Vervielfältigung, Verbreitung und Bearbeitung dieser Folien ist zulässig (Lizenzbestimmungen CC-BY-NC).Monday, April 16, 12
  2. 2. Multimedia Analyse-Technologien2 1. Infrastruktur 2. Werkzeuge und Libraries 3. Einrichten der Arbeitsumgebung 4. Sonstiges Seminar: Multimedia-Analyse-Techniken, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMonday, April 16, 12
  3. 3. Multimedia Analyse-Technologien Infrastruktur3 Debian “Squeeze” Debian 6.0.4 wurde am 28. Januar 2012 veröffentlicht. 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. Seminar: Multimedia-Analyse-Techniken, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMonday, April 16, 12
  4. 4. Multimedia Analyse-Technologien4 1. Infrastruktur 2. Werkzeuge und Libraries 3. Einrichten der Arbeitsumgebung 4. Sonstiges Seminar: Multimedia-Analyse-Techniken, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMonday, April 16, 12
  5. 5. Multimedia Analyse-Technologien Werkzeuge und Libraries5 Die Toolsuite für das Seminar: • mediainfo • ffmpeg (Video Transcoder) • lib-avformat, lib-avcodec, lib-avutil • OpenCV (Computer Vision Library) Seminar: Multimedia-Analyse-Techniken, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMonday, April 16, 12
  6. 6. Multimedia Analyse-Technologien Werkzeuge und Libraries6 MediaInfo provides easy access to technical and tag information about video and audio files. http://mediainfo.sourceforge.net/ Version 0.7.56 >>> mediainfo <filename> Seminar: Multimedia-Analyse-Techniken, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMonday, April 16, 12
  7. 7. Multimedia Analyse-Technologien Werkzeuge und Libraries7 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. 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, ... Dazu mehr zum nächsten Termin am Mittwoch ... Seminar: Multimedia-Analyse-Techniken, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMonday, April 16, 12
  8. 8. Multimedia Analyse-Technologien Werkzeuge und Libraries8 FFmpeg is a complete, cross-platform solution to record, convert and stream audio and video. http://ffmpeg.org/ Version 0.10.2 >>> ffmpeg -i input.avi output.mp4 Seminar: Multimedia-Analyse-Techniken, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMonday, April 16, 12
  9. 9. Multimedia Analyse-Technologien Werkzeuge und Libraries9 OpenCV (Open Source Computer Vision) is a library of programming functions for the realtime computer vision. http://code.opencv.org/ Version 2.3.1 Seminar: Multimedia-Analyse-Techniken, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMonday, April 16, 12
  10. 10. Multimedia Analyse-Technologien10 1. Infrastruktur 2. Werkzeuge und Libraries 3. Einrichten der Arbeitsumgebung 4. Sonstiges Seminar: Multimedia-Analyse-Techniken, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMonday, April 16, 12
  11. 11. Multimedia Analyse-Technologien Vorbereitungen11 • 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 Seminar: Multimedia-Analyse-Techniken, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMonday, April 16, 12
  12. 12. Multimedia Analyse-Technologien ffmpeg Kompilieren12 • 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 Seminar: Multimedia-Analyse-Techniken, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMonday, April 16, 12
  13. 13. Multimedia Analyse-Technologien ffmpeg Kompilieren ACHTUNG: Hier keine ~ verwenden13 um das Home-Verzeichnis zu • Konfigurieren: referenzieren. > ./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 Seminar: Multimedia-Analyse-Techniken, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMonday, April 16, 12
  14. 14. Multimedia Analyse-Technologien ffmpeg Kompilieren14 • Kompilieren und Installieren: > make > make install Seminar: Multimedia-Analyse-Techniken, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMonday, April 16, 12
  15. 15. Multimedia Analyse-Technologien OpenCV Kompilieren15 • 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 ~/.bashrc fi Seminar: Multimedia-Analyse-Techniken, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMonday, April 16, 12
  16. 16. Multimedia Analyse-Technologien OpenCV Kompilieren16 • 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 Seminar: Multimedia-Analyse-Techniken, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMonday, April 16, 12
  17. 17. Multimedia Analyse-Technologien OpenCV Kompilieren17 • Kompilieren > mkdir build > cd build > cmake -D CMAKE_INSTALL_PREFIX=~/.local ../ > make > make install Seminar: Multimedia-Analyse-Techniken, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMonday, April 16, 12
  18. 18. Multimedia Analyse-Technologien OpenCV Beispiel: Frame-Extractor frameextractor.cpp18 #include <iostream> #include <string> #include <opencv2/opencv.hpp> int main(int argc, char** argv) { cv::VideoCapture capture(argv[1]); if(!capture.isOpened()) retur n -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; } Seminar: Multimedia-Analyse-Techniken, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMonday, April 16, 12
  19. 19. Multimedia Analyse-Technologien OpenCV Beispiel: Frame-Extractor19 • Kompilieren > g++ `pkg-config --cflags opencv` frameextractor.cpp -o frameextractor `pkg-config --libs opencv` • Ausführen >./frameextractor input.mp4 Seminar: Multimedia-Analyse-Techniken, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMonday, April 16, 12
  20. 20. Multimedia Analyse-Technologien20 1. Infrastruktur 2. Werkzeuge und Libraries 3. Einrichten der Arbeitsumgebung 4. Sonstiges Seminar: Multimedia-Analyse-Techniken, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMonday, April 16, 12
  21. 21. Multimedia Analyse-Technologien Sonstiges21 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 Seminar: Multimedia-Analyse-Techniken, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMonday, April 16, 12
  22. 22. Multimedia Analyse-Technologien Sonstiges22 • Coding Style !!! • Dokumentation! • Kommunikation! •Ausgabeformat: Einfache Text- Datei, pro Zeile eine Framenummer und Run-ID •Evaluationstool: wird noch (online) zur Verfügung gestellt Seminar: Multimedia-Analyse-Techniken, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMonday, April 16, 12
  23. 23. Multimedia Analyse-Technologien23 Literatur • Gibbon, D. ; Liu, Z. : Introduction to Video Search Engines. Berlin : Springer, 2008 • Bradski, G. ; Kaehler, A. : Learning OpenCV. Beijing : OReilly, 2008 • Blog zur Webseite: http://mumat2012.blogspot.com/ Seminar: Multimedia-Analyse-Techniken, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMonday, April 16, 12

×