Difference between revisions of "Video Library and Tools"

From NMSL
 
(27 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 +
= TV Captures =
 +
 +
We capture TV programs with the PCI version of ATI HD 650 PCI Digital and Analog TV tuner. We install this card in a Windows XP desktop, and we use the accompanying application called ATI Crystal Media Center to watch and capture TV. One of our goal is to extract the closed captions into timstamped text files. This can be done as follows. We first capture a TV program using the default recording profile ''Best'' in the Crystal, which results in an mpg file that contains a video, an audio, and an CC tracks. The resulting mpg file can be played by the VLC player but not by the Windows media player nor QuickTime. We then use an open source software called ''ccextractor'' to separate the CC text from this mpg file. ccextractor comes with a Windows GUI, but can also be run in command line as '''ccextractor -out=srt my.mpg'''. This command creates an srt file that contains close captions with timestamps.
 +
 +
We have put several sample .mpg and .srt files online at [http://nsl.cs.sfu.ca/video/capture our web server]. Each of these capture is about 50 min long, and they were captured from an over-the-air digital TV station.
 +
 +
 
= Video Sequences =  
 
= Video Sequences =  
 +
 
== HD Sequences from CBC ==
 
== HD Sequences from CBC ==
 
* [http://nsl.cs.sfu.ca/video/library/CBC/doc-reality.wmv Documentary 2MB WMV], [http://nsl.cs.sfu.ca/video/library/CBC/doc-reality-4mbps.wmv Documentary 4MB WMV], [http://nsl.cs.sfu.ca/video/library/CBC/doc-reality.avi Documentary 20MB dvix].
 
* [http://nsl.cs.sfu.ca/video/library/CBC/doc-reality.wmv Documentary 2MB WMV], [http://nsl.cs.sfu.ca/video/library/CBC/doc-reality-4mbps.wmv Documentary 4MB WMV], [http://nsl.cs.sfu.ca/video/library/CBC/doc-reality.avi Documentary 20MB dvix].
Line 6: Line 14:
 
* [http://nsl.cs.sfu.ca/video/library/CBC/sport.wmv Sport2MB WMV], [http://nsl.cs.sfu.ca/video/library/CBC/sport-4mbps.wmv Sport4MB WMV], [http://nsl.cs.sfu.ca/video/library/CBC/sport.avi Sport 20MB dvix].
 
* [http://nsl.cs.sfu.ca/video/library/CBC/sport.wmv Sport2MB WMV], [http://nsl.cs.sfu.ca/video/library/CBC/sport-4mbps.wmv Sport4MB WMV], [http://nsl.cs.sfu.ca/video/library/CBC/sport.avi Sport 20MB dvix].
 
* [http://nsl.cs.sfu.ca/video/library/CBC/talking_head.wmv News 2MB WMV], [http://nsl.cs.sfu.ca/video/library/CBC/talking_head-4mbps.wmv News 4MB WMV], [http://nsl.cs.sfu.ca/video/library/CBC/talking_head.avi News 20MB dvix].
 
* [http://nsl.cs.sfu.ca/video/library/CBC/talking_head.wmv News 2MB WMV], [http://nsl.cs.sfu.ca/video/library/CBC/talking_head-4mbps.wmv News 4MB WMV], [http://nsl.cs.sfu.ca/video/library/CBC/talking_head.avi News 20MB dvix].
 +
  
 
== Raw Sequences from the H.264/SVC Group ==
 
== Raw Sequences from the H.264/SVC Group ==
Line 19: Line 28:
 
* [http://nsl.cs.sfu.ca/video/library/YUV/4CIF/CITY_704x576_30_orig_01.yuv City 30 fps], [http://nsl.cs.sfu.ca/video/library/YUV/4CIF/CREW_704x576_30_orig_01.yuv Crew 30 fps], [http://nsl.cs.sfu.ca/video/library/YUV/4CIF/SOCCER_704x576_30_orig_02.yuv Soccer 30 fps], [http://nsl.cs.sfu.ca/video/library/YUV/4CIF/HARBOUR_704x576_30_orig_01.yuv Harbour 30 fps], [http://nsl.cs.sfu.ca/video/library/YUV/4CIF/ICE_704x576_30_orig_02.yuv Ice 30 fps]
 
* [http://nsl.cs.sfu.ca/video/library/YUV/4CIF/CITY_704x576_30_orig_01.yuv City 30 fps], [http://nsl.cs.sfu.ca/video/library/YUV/4CIF/CREW_704x576_30_orig_01.yuv Crew 30 fps], [http://nsl.cs.sfu.ca/video/library/YUV/4CIF/SOCCER_704x576_30_orig_02.yuv Soccer 30 fps], [http://nsl.cs.sfu.ca/video/library/YUV/4CIF/HARBOUR_704x576_30_orig_01.yuv Harbour 30 fps], [http://nsl.cs.sfu.ca/video/library/YUV/4CIF/ICE_704x576_30_orig_02.yuv Ice 30 fps]
 
* [http://nsl.cs.sfu.ca/video/library/YUV/4CIF/CITY_704x576_60_orig_01.yuv City 60 fps], [http://nsl.cs.sfu.ca/video/library/YUV/4CIF/CREW_704x576_60_orig_01.yuv Crew 60 fps], [http://nsl.cs.sfu.ca/video/library/YUV/4CIF/SOCCER_704x576_60_orig_02.yuv Soccer 60 fps], [http://nsl.cs.sfu.ca/video/library/YUV/4CIF/HARBOUR_704x576_60_orig_01.yuv Harbour 60 fps], [http://nsl.cs.sfu.ca/video/library/YUV/4CIF/ICE_704x576_60_orig_02.yuv Ice 60 fps]
 
* [http://nsl.cs.sfu.ca/video/library/YUV/4CIF/CITY_704x576_60_orig_01.yuv City 60 fps], [http://nsl.cs.sfu.ca/video/library/YUV/4CIF/CREW_704x576_60_orig_01.yuv Crew 60 fps], [http://nsl.cs.sfu.ca/video/library/YUV/4CIF/SOCCER_704x576_60_orig_02.yuv Soccer 60 fps], [http://nsl.cs.sfu.ca/video/library/YUV/4CIF/HARBOUR_704x576_60_orig_01.yuv Harbour 60 fps], [http://nsl.cs.sfu.ca/video/library/YUV/4CIF/ICE_704x576_60_orig_02.yuv Ice 60 fps]
 +
  
 
== Raw Sequences from ftp.ldv.e-technik.tu-muenchen.de ==
 
== Raw Sequences from ftp.ldv.e-technik.tu-muenchen.de ==
Line 39: Line 49:
 
* [http://nsl.cs.sfu.ca/video/library/tu-muenchen.de/1080p_tractor.yuv Tractor] A tractor in a field. Whole sequence contains parts that are very zoomed in and a total view. Camera is following the tractor, chaotic object movement, structure of a harvested field. Very red wheels of the tractor.
 
* [http://nsl.cs.sfu.ca/video/library/tu-muenchen.de/1080p_tractor.yuv Tractor] A tractor in a field. Whole sequence contains parts that are very zoomed in and a total view. Camera is following the tractor, chaotic object movement, structure of a harvested field. Very red wheels of the tractor.
 
Note: Descriptions are extracted from the readme files.
 
Note: Descriptions are extracted from the readme files.
 +
  
 
= Video Tools =
 
= Video Tools =
 +
 +
* [http://www.webmproject.org/ WebM Project:] An Open video format for the web that is freely available to everyone.
 +
 +
* [http://sourceforge.net/projects/opensvcdecoder/ Open SVC Decoder]
 +
 
* '''Windows YUV Player''': [[media:YUVviewe.exe | executable]], [[media:YUVviewerSrc.zip | source]].
 
* '''Windows YUV Player''': [[media:YUVviewe.exe | executable]], [[media:YUVviewerSrc.zip | source]].
* '''Imagen''': Image Sequence Player [[] http://www.gromada.com/imagen.html]
+
** Allows multiple YUV video files to be played side by side for comparison
 +
 
 +
* [http://dsplab.diei.unipg.it/~baruffa/dvbt/binaries/player/ PYUV Player for Linux]
 +
 
 +
* '''Imagen''', Image Sequence Player [http://www.gromada.com/imagen.html http://www.gromada.com/imagen.html]
 +
 
 +
* '''Matlab YUV Toolbox''' [http://sprljan.com/nikola/matlab/yuv.html  http://sprljan.com/nikola/matlab/yuv.html]
 +
** yuv_compare compares two YUV streams and produces PSNR values
 +
 
 +
* [[Private:VideoTools | Tools]] (Requires Login)
 +
* [http://www.videolan.org/developers/x264.html x264] open source encoder for H.264/AVC
 +
 
 +
* [http://code.google.com/p/webm/downloads/list Google's VP8] open source VP8 encoder and decoder
 +
** ZIP file includes encoder and decoder pre-built for windows
 +
** Encoder is vpcenc.exe, type vpcenv -help for instructions
 +
** Decoder is vpcdec.exe, type vpcdec -help for instructions
 +
** [http://www.webmproject.org/tools/encoder-parameters/ VP8 Encoder Parameter Guidelines]
 +
** [http://www.slideshare.net/DSPIP/google-vp8 VP8 Overview Slides]
 +
 
 +
* [http://sourceforge.net/projects/avisynth2/files/ Avisynth] version 2.5
 +
** General purpose scripting tool for reading and processing videos
 +
** Allows filters to be bound in to compute distortion, add noise, watermarks, etc.
 +
 
 +
<pre>
 +
Useful avisynth filters:
 +
* Compare - Compare two videos and Calculate Y-PNSR for each frame
 +
  - This is included as one of the core avisynth filters
 +
    Compare(clip_filtered, clip_original, "channels", "logfile")
 +
 +
* SSIM - Compare two videos Calculate Structure Similarity Metric for each frame
 +
  - http://avisynth.org/warpenterprises/
 +
    SSIM (clip1, clip2, "results.csv", "averageSSIM.txt", lumimask=true)
 +
 
 +
* RawSource - Read in Raw YUV video files
 +
  - http://avisynth.org/warpenterprises/files/rawsource_25_dll_20060728.zip
 +
    clip = RawSource("SourceFile", Height, Width, "Format")
 +
</pre>
 +
 
 +
* [http://ffmpeg.org/download.html ffmpeg]
 +
** a complete, cross-platform solution to record, convert and stream audio and video
 +
** includes libavcodec - the leading audio/video codec library
 +
** contains instructions for getting source and windows executable
 +
 
 +
* [http://vicos.yuvsoft.com/download.html ViCoS] (Demo Version)
 +
** Automated codec comparison tool
 +
** Allows codecs to be bound in and preset parameters to be defined by the user
 +
** Useful for a quick relative comparison of codecs and different preset parameters
 +
** Generated files in vicos/perframe_data contains per-frame PNSR/SSIM raw data
 +
 
 +
* [http://compression.ru/video/codec_comparison/h264_2010/ MSU's Codec Comparison Reports]
 +
** Contains short version of annual Codec Comparison Report
 +
** Provides detailed comparison of the most popular H.264 decoders
 +
** [http://compression.ru/video/codec_comparison/h264_2010/appendixes.html#Appendix_8 MSU's 2010 Codec Report - Appendix 8] compares VP8, x264, XViD performance and quality
 +
 
 +
 
 +
= Links to other Video Libraries =
 +
 
 +
* [http://www.cdvl.org/index.php The Consumer Digital Video Library]
 +
 
 +
* [http://www.open-video.org/ Open-Video Project]
 +
 
 +
* [http://trace.eas.asu.edu/ Video Traces Research Group]
 +
 
 +
* [http://www.its.bldrdoc.gov/vqeg/ The Video Quality Experts Group]
 +
 
 +
* [http://sp.cs.tut.fi/mobile3dtv/stereo-video/ Mobile3DTV Project's 3D Video Database]

Latest revision as of 13:05, 5 December 2010

TV Captures

We capture TV programs with the PCI version of ATI HD 650 PCI Digital and Analog TV tuner. We install this card in a Windows XP desktop, and we use the accompanying application called ATI Crystal Media Center to watch and capture TV. One of our goal is to extract the closed captions into timstamped text files. This can be done as follows. We first capture a TV program using the default recording profile Best in the Crystal, which results in an mpg file that contains a video, an audio, and an CC tracks. The resulting mpg file can be played by the VLC player but not by the Windows media player nor QuickTime. We then use an open source software called ccextractor to separate the CC text from this mpg file. ccextractor comes with a Windows GUI, but can also be run in command line as ccextractor -out=srt my.mpg. This command creates an srt file that contains close captions with timestamps.

We have put several sample .mpg and .srt files online at our web server. Each of these capture is about 50 min long, and they were captured from an over-the-air digital TV station.


Video Sequences

HD Sequences from CBC


Raw Sequences from the H.264/SVC Group

QCIF

CIF

4CIF


Raw Sequences from ftp.ldv.e-technik.tu-muenchen.de

720p

  • Parkrun Long shot. Man running in a park with an umbrella in his hand. Trees, snow and water in the background. Very detailed and demanding.
  • Shields Man with beard and a speckled jacket walking in front of a wall of detailed knight shields. Zoom at the end of the sequence.
  • Stockholm Panning view over the Old Town of Stockholm. Detailed houses, water and moving cars.Panning view over the Old Town of Stockholm. Detailed houses, water and moving cars.

1080i

  • Mobcal Similar to Mobile and Calendar. Close up. Moving calendar with text and a detailed photo of the ship. Moving train with colorful toys. Background with two types of wallpaper, one brown with details and one yellow with drawn figures. Very detailed and normally demanding.
  • Parkrun Long shot. Man running in a park with an umbrella in his hand. Trees, snow and water in the background. Very detailed and demanding.
  • Shields Man with beard and a speckled jacket walking in front of a wall of detailed knight shields. Zoom at the end of the sequence.
  • Stockholm Panning view over the Old Town of Stockholm. Detailed houses, water and moving cars.Panning view over the Old Town of Stockholm. Detailed houses, water and moving cars.

1080p

  • BlueSky Top of two trees against blue sky. High contrast, small color differences in the sky, many details. Camera rotation.
  • PedestrianArea Shot of a pedestrian area. Low camera position, people pass by very close to the camera. High depth of field. Static camera.
  • Riverbed Riverbed seen through the water. Very hard to code.
  • RushHour Rush-hour in Munich city. Many cars moving slowly, high depth of focus. Fixed camera.
  • Station View from a bridge to munich station. Evening shot. Long zoom out. Many details, regular structures (tracks).
  • Sunflower Sunflower, very detailed shot. One bee at the sunflower, small color differences and very bright yellow. Fixed camera, small global motion.
  • Tractor A tractor in a field. Whole sequence contains parts that are very zoomed in and a total view. Camera is following the tractor, chaotic object movement, structure of a harvested field. Very red wheels of the tractor.

Note: Descriptions are extracted from the readme files.


Video Tools

  • WebM Project: An Open video format for the web that is freely available to everyone.
  • Windows YUV Player: executable, source.
    • Allows multiple YUV video files to be played side by side for comparison
  • Tools (Requires Login)
  • x264 open source encoder for H.264/AVC
  • Avisynth version 2.5
    • General purpose scripting tool for reading and processing videos
    • Allows filters to be bound in to compute distortion, add noise, watermarks, etc.
Useful avisynth filters:
* Compare - Compare two videos and Calculate Y-PNSR for each frame
   - This is included as one of the core avisynth filters
     Compare(clip_filtered, clip_original, "channels", "logfile") 
		
* SSIM - Compare two videos Calculate Structure Similarity Metric for each frame
   - http://avisynth.org/warpenterprises/
     SSIM (clip1, clip2, "results.csv", "averageSSIM.txt", lumimask=true)

* RawSource - Read in Raw YUV video files
   - http://avisynth.org/warpenterprises/files/rawsource_25_dll_20060728.zip
     clip = RawSource("SourceFile", Height, Width, "Format")
  • ffmpeg
    • a complete, cross-platform solution to record, convert and stream audio and video
    • includes libavcodec - the leading audio/video codec library
    • contains instructions for getting source and windows executable
  • ViCoS (Demo Version)
    • Automated codec comparison tool
    • Allows codecs to be bound in and preset parameters to be defined by the user
    • Useful for a quick relative comparison of codecs and different preset parameters
    • Generated files in vicos/perframe_data contains per-frame PNSR/SSIM raw data


Links to other Video Libraries