TH692 WIFIのmjpeg取得する方法

TH692 WIFIではrtspのみ対応かと思いましたが、mjpegも取得することが可能のようです。
snapshotを利用してjpegをストリームするようです。

http:///cgi-bin/hi3510/snap.cgi?&-getstream

但し、IP391W HDも同様にできるのかと思ったのですが、こちらは非対応のようでした。

http:///cgi-bin/hi3510/snap.cgi

画像保存されたディレクトリを取得して、それをコピーする形でjpegを取得することは可能です。

TENVIS IP391W HDをVLCで録画する

VLCは動画を変換するのにとても簡単です。
当初ffmpegで変換する予定でしたが、うまく動作しないケースがありました。
そこでvlcのコマンドライン版clvcを使うことで、簡単になりました。

1時間を録画するシェルスクリプトです。

#!/bin/bash
NowDateTime=`date '+%Y%m%d%H'`
cvlc rtsp://192.168.1.1:554/11 --run-time 3600 --sout=file/ps:/tmp/motion/${NowDateTime}.avi vlc://quit &

–run-timeは3600=1時間になります。
最後にvlc://quitをつけないと、プロセスがずっと残ってしまいます。注意しましょう。

TENVIS IP391W HDをVLCコマンドラインでmjpegストリーミング配信

TENVIS IP391W HDを購入して、いろいろ触ってみました。
MJPEGがあるのかと思ったのですがなかった為、VLCで簡単にストリーミング配信を行ってみました。

この製品はRTSPは対応していたので、それを利用しました。RTSPをMJPEGに変換するコマンドは以下の通りです。

$ cvlc -vvv rtsp://192.168.1.1:554/11 --sout="#transcode{acodec=none,vcodec=mjpg,vb=1024}:duplicate{dst=std{access=http{mime=multipart/x-mixed-replace;boundary=--7b3cc56e5f51db803f790dad720ed50a},mux=mpjpeg,dst=0.0.0.0:8081},dst=nodisplay}" >/dev/null 2>&1 &

LinuxのVLCはrootでは起動できないので一般ユーザで起動します。

但し、CPUが高く実用的でな内容です。コマンドの改善が必要です。

motionのMJPEGストリーミングについて

motionのストリーミングはFireFoxのみ対応のようです。
そのほかのブラウザをつかうと正しく表示されません。これではとても困ります。
その解決方法として、HTML5で表示する方法です。

<script language="JavaScript">
window.setInterval("refreshCanvas()", 5000); //5秒間隔で更新

var id = document.getElementById('idCanvas').getContext('2d');
var img = new Image();
img.src = "http://192.168.1.1:8081/"; //motionのアドレス

function refreshCanvas(){
	id.drawImage(img, 0, 0,1280,720);
};
</script>

<canvas id='idCanvas' width=1280 height=720 style='border:1px solid #d3d3d3'>

このHTMLをサーバに置いて、アクセスすればHTML5対応のブラウザであれば対応といなります。

motionのWebMパッチをコンパイルする

どうしてもmotionのWebM対応を行いたく、探していたらこちらのサイトで確認できました。
http://www.lavrsen.dk/foswiki/bin/view/Motion/WebMVP8Codec

早速、パッチ対応済みのソースをダウンロードしました。

# git clone https://github.com/jthetzel/motion.git
remote: Counting objects: 2748, done.
remote: Total 2748 (delta 0), reused 0 (delta 0), pack-reused 2748
Receiving objects: 100% (2748/2748), 2.52 MiB | 759 KiB/s, done.
Resolving deltas: 100% (2003/2003), done.

# cd motion
# ./configure

**********************************************
* libavcodec.a or libavcodec.so or           *
* libavformat.a or libavformat.so not found: *
*    ALL FFMPEG FEATURES DISABLED            *
*                                            *
* Please read the Motion Guide for help:     *
* http://motion.sourceforge.net              *
**********************************************

OS             :     Linux
pthread support:     Yes
jpeg support:        No
**********************************************
** Fatal Error YOU MUST HAVE jpeg Support  ***
**********************************************
V4L support:         Yes
V4L2 support:        Yes
SDL support:         No
FFmpeg support:      No
SQLite3 support:     No
MYSQL support:       No
PostgreSQL support:  No

**********************************************
* libavcodec.a or libavcodec.so or *
* libavformat.a or libavformat.so not found: *
* ALL FFMPEG FEATURES DISABLED *
* *
* Please read the Motion Guide for help: *
* http://motion.sourceforge.net *
**********************************************
というメッセージが表示されている。とりあえずlibavcodec-dev,libavformat-devをインストールする。

# apt-get install deb-multimedia-keyring
# vi /etc/apt/sources.list
deb http://www.deb-multimedia.org wheezy main non-free
deb http://www.deb-multimedia.org wheezy-backports main

# apt-get update; apt-get install libavcodec-dev libavformat-dev

しかしこのメッセージは消えない…
FFmpegのバージョンを確認する

# ffmpeg -h
ffmpeg version 1.2.12 Copyright (c) 2000-2015 the FFmpeg developers
  built on Feb 12 2015 17:53:54 with gcc 4.7 (Debian 4.7.2-5)

1.2系のffmpegでは最新のようですが、とりあえず保留にします。

ほかにFatal Error YOU MUST HAVE jpeg Supportというメッセージが表示され、エラーとなりました。

# apt-get install libjpeg-dev
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
E: パッケージ libjpeg-turbo-devel が見つかりません
root@460-Linux:~/motion# apt-get install libjpeg-dev
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
注意、'libjpeg-dev' の代わりに 'libjpeg8-dev' を選択しています
以下の特別パッケージがインストールされます:
  libjpeg8
以下のパッケージが新たにインストールされます:
  libjpeg8-dev
以下のパッケージはアップグレードされます:
  libjpeg8
アップグレード: 1 個、新規インストール: 1 個、削除: 0 個、保留: 186 個。
370 kB のアーカイブを取得する必要があります。
この操作後に追加で 490 kB のディスク容量が消費されます。
続行しますか [Y/n]? Y
取得:1 http://ftp.jp.debian.org/debian/ wheezy/main libjpeg8 i386 8d-1+deb7u1 [134 kB]
取得:2 http://ftp.jp.debian.org/debian/ wheezy/main libjpeg8-dev i386 8d-1+deb7u1 [236 kB]
370 kB を 3秒 で取得しました (96.2 kB/s)
changelog を読んでいます... 完了
(データベースを読み込んでいます ... 現在 107891 個のファイルとディレクトリがインストールされています。)
libjpeg8:i386 8d-1 を (.../libjpeg8_8d-1+deb7u1_i386.deb で) 置換するための準備 をしています ...
libjpeg8:i386 を展開し、置換しています...
以前に未選択のパッケージ libjpeg8-dev:i386 を選択しています。
(.../libjpeg8-dev_8d-1+deb7u1_i386.deb から) libjpeg8-dev:i386 を展開しています...
libjpeg8:i386 (8d-1+deb7u1) を設定しています ...
libjpeg8-dev:i386 (8d-1+deb7u1) を設定しています ...

ffmpeg関係以外は問題なく動作するが、どうしても動画保存ができない…

[0] [NTC] [ALL] conf_load: Processing thread 0 - config file /etc/motion/motion.conf
[0] [ALR] [ALL] conf_cmdparse: Unknown config option "ffmpeg_output_movies"
[0] [ALR] [ALL] conf_cmdparse: Unknown config option "ffmpeg_output_debug_movies"
[0] [ALR] [ALL] conf_cmdparse: Unknown config option "ffmpeg_timelapse"
[0] [ALR] [ALL] conf_cmdparse: Unknown config option "ffmpeg_timelapse_mode"
[0] [ALR] [ALL] conf_cmdparse: Unknown config option "ffmpeg_bps"
[0] [ALR] [ALL] conf_cmdparse: Unknown config option "ffmpeg_variable_bitrate"
[0] [ALR] [ALL] conf_cmdparse: Unknown config option "ffmpeg_video_codec"
[0] [ALR] [ALL] conf_cmdparse: Unknown config option "ffmpeg_deinterlace"
[0] [ALR] [ALL] conf_cmdparse: Unknown config option "sdl_threadnr"
[0] [ALR] [ALL] conf_cmdparse: Unknown config option "movie_filename"
[0] [ALR] [ALL] conf_cmdparse: Unknown config option "timelapse_filename"

libvpxをインストールする。意外と長いです。

# git clone https://github.com/webmproject/libvpx.git
Cloning into 'libvpx'...
remote: Counting objects: 88344, done.
remote: Compressing objects: 100% (76/76), done.
remote: Total 88344 (delta 37), reused 0 (delta 0), pack-reused 88268
Receiving objects: 100% (88344/88344), 26.96 MiB | 693 KiB/s, done.
Resolving deltas: 100% (71954/71954), done.
# cd libvpx
# ./configure
# make
# make install

またはパッケージを使う場合

# apt-get install libvpx-dev

最新版のffmpegをダウンロードしてソースからコンパイルすることにした。(libavは含まれているようようです)

# apt-get install yasm nasm pkg-config
# wget http://ffmpeg.org/releases/ffmpeg-2.6.1.tar.bz2
# tar jxvf ffmpeg-2.6.1.tar.bz2
# cd ffmpeg-2.6.1
# ./configure --enable-gpl --enable-nonfree --enable-libvpx --enable-shared --enable-pthreads
# make
# make install

長時間ffmpegのコンパイルが完了し、motionのコンパイルを行う。

# cd motion
# ./configure 
# make
Linking Motion...
--------------------------------------------------------------------------------
gcc -L/usr/local/lib -o motion motion.o logger.o conf.o draw.o jpegutils.o vloopback_motion.o video.o video2.o video_common.o netcam.o netcam_ftp.o netcam_jpeg.o netcam_wget.o track.o alg.o event.o picture.o rotate.o webhttpd.o stream.o md5.o ffmpeg.o sdl.o netcam_rtsp.o -lm  -lpthread -L/usr/lib/i386-linux-gnu -lSDL -ljpeg -L/usr/local/lib -lavformat -lavcodec -lavutil -lm -lz
/usr/local/lib/libavcodec.a(opusdec.o): In function `opus_decode_subpacket':
/root/ffmpeg-2.6.1/libavcodec/opusdec.c:374: undefined reference to `swr_is_initialized'
/usr/local/lib/libavcodec.a(opusdec.o): In function `opus_decode_frame':
/root/ffmpeg-2.6.1/libavcodec/opusdec.c:220: undefined reference to `swr_is_initialized'
/usr/local/lib/libavcodec.a(opusdec.o): In function `opus_init_resample':
/root/ffmpeg-2.6.1/libavcodec/opusdec.c:161: undefined reference to `swr_init'
/root/ffmpeg-2.6.1/libavcodec/opusdec.c:167: undefined reference to `swr_convert'
/usr/local/lib/libavcodec.a(opusdec.o): In function `opus_decode_frame':
/root/ffmpeg-2.6.1/libavcodec/opusdec.c:234: undefined reference to `swr_convert'
/usr/local/lib/libavcodec.a(opusdec.o): In function `opus_flush_resample':
/root/ffmpeg-2.6.1/libavcodec/opusdec.c:115: undefined reference to `swr_convert'
/usr/local/lib/libavcodec.a(opusdec.o): In function `opus_decode_subpacket':
/root/ffmpeg-2.6.1/libavcodec/opusdec.c:406: undefined reference to `swr_close'
/usr/local/lib/libavcodec.a(opusdec.o): In function `opus_decode_flush':
/root/ffmpeg-2.6.1/libavcodec/opusdec.c:567: undefined reference to `swr_close'
/usr/local/lib/libavcodec.a(opusdec.o): In function `opus_decode_close':
/root/ffmpeg-2.6.1/libavcodec/opusdec.c:589: undefined reference to `swr_free'
/usr/local/lib/libavcodec.a(opusdec.o): In function `opus_decode_init':
/root/ffmpeg-2.6.1/libavcodec/opusdec.c:642: undefined reference to `swr_alloc'
/usr/local/lib/libavcodec.a(vaapi.o): In function `ff_vaapi_commit_slices':
/root/ffmpeg-2.6.1/libavcodec/vaapi.c:101: undefined reference to `vaCreateBuffer'
/root/ffmpeg-2.6.1/libavcodec/vaapi.c:110: undefined reference to `vaCreateBuffer'
/usr/local/lib/libavcodec.a(vaapi.o): In function `ff_vaapi_render_picture':
/root/ffmpeg-2.6.1/libavcodec/vaapi.c:52: undefined reference to `vaUnmapBuffer'
/root/ffmpeg-2.6.1/libavcodec/vaapi.c:65: undefined reference to `vaBeginPicture'
/root/ffmpeg-2.6.1/libavcodec/vaapi.c:69: undefined reference to `vaRenderPicture'
/root/ffmpeg-2.6.1/libavcodec/vaapi.c:73: undefined reference to `vaRenderPicture'
/root/ffmpeg-2.6.1/libavcodec/vaapi.c:78: undefined reference to `vaEndPicture'
/root/ffmpeg-2.6.1/libavcodec/vaapi.c:61: undefined reference to `vaUnmapBuffer'
/root/ffmpeg-2.6.1/libavcodec/vaapi.c:56: undefined reference to `vaUnmapBuffer'
/usr/local/lib/libavcodec.a(vaapi.o): In function `alloc_buffer':
/root/ffmpeg-2.6.1/libavcodec/vaapi.c:129: undefined reference to `vaCreateBuffer'
/root/ffmpeg-2.6.1/libavcodec/vaapi.c:131: undefined reference to `vaMapBuffer'
/root/ffmpeg-2.6.1/libavcodec/vaapi.c:129: undefined reference to `vaCreateBuffer'
/root/ffmpeg-2.6.1/libavcodec/vaapi.c:131: undefined reference to `vaMapBuffer'
/root/ffmpeg-2.6.1/libavcodec/vaapi.c:129: undefined reference to `vaCreateBuffer'
/root/ffmpeg-2.6.1/libavcodec/vaapi.c:131: undefined reference to `vaMapBuffer'
/usr/local/lib/libavcodec.a(vaapi.o): In function `destroy_buffers':
/root/ffmpeg-2.6.1/libavcodec/vaapi.c:38: undefined reference to `vaDestroyBuffer'
/root/ffmpeg-2.6.1/libavcodec/vaapi.c:38: undefined reference to `vaDestroyBuffer'
/root/ffmpeg-2.6.1/libavcodec/vaapi.c:38: undefined reference to `vaDestroyBuffer'
/root/ffmpeg-2.6.1/libavcodec/vaapi.c:38: undefined reference to `vaDestroyBuffer'
collect2: error: ld returned 1 exit status

なぜかリンク時に関数名がない…どうしてだろう…
ライブラリがリンクされているか、確認する。

# ldd `which ffmpeg`
linux-vdso.so.1 => (0x00007fff567ea000)
libavdevice.so.55 => not found
libavfilter.so.3 => not found
libavformat.so.55 => not found
libavcodec.so.55 => not found
libpostproc.so.52 => not found
libswresample.so.0 => not found
libswscale.so.2 => not found
libavutil.so.52 => not found
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f28f09fa000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f28f07dd000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f28f0415000)
/lib64/ld-linux-x86-64.so.2 (0x00007f28f0d1c000)

ldconfigでリンクされる。

# ldconfig
# ldd `which ffmpeg`
linux-gate.so.1 =>  (0xb773e000)
libavdevice.so.56 => /usr/local/lib/libavdevice.so.56 (0xb7716000)
libavfilter.so.5 => /usr/local/lib/libavfilter.so.5 (0xb75d9000)
libavformat.so.56 => /usr/local/lib/libavformat.so.56 (0xb73e4000)
libavcodec.so.56 => /usr/local/lib/libavcodec.so.56 (0xb6282000)
libpostproc.so.53 => /usr/local/lib/libpostproc.so.53 (0xb6256000)
libswresample.so.1 => /usr/local/lib/libswresample.so.1 (0xb623a000)
libswscale.so.3 => /usr/local/lib/libswscale.so.3 (0xb61b1000)
libavutil.so.54 => /usr/local/lib/libavutil.so.54 (0xb613c000)
libX11.so.6 => /usr/lib/i386-linux-gnu/libX11.so.6 (0xb6004000)
libm.so.6 => /lib/i386-linux-gnu/i686/cmov/libm.so.6 (0xb5fde000)
libvdpau.so.1 => /usr/lib/i386-linux-gnu/libvdpau.so.1 (0xb5fd9000)
libpthread.so.0 => /lib/i386-linux-gnu/i686/cmov/libpthread.so.0 (0xb5fc0000)
libc.so.6 => /lib/i386-linux-gnu/i686/cmov/libc.so.6 (0xb5e5b000)

その後makeを行い正常に終了する。

Webカメラの情報表示 v4l-utilsをインストールする

v4l-utilsをインストールする

# apt-get install v4l-utils
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下のパッケージが新たにインストールされます:
  v4l-utils
アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 194 個。
117 kB のアーカイブを取得する必要があります。
この操作後に追加で 332 kB のディスク容量が消費されます。
取得:1 http://ftp.jp.debian.org/debian/ wheezy/main v4l-utils i386 0.8.8-3 [117 kB]
117 kB を 7秒 で取得しました (15.2 kB/s)
以前に未選択のパッケージ v4l-utils を選択しています。
(データベースを読み込んでいます ... 現在 98056 個のファイルとディレクトリがイン ストールされています。)
(.../v4l-utils_0.8.8-3_i386.deb から) v4l-utils を展開しています...
v4l-utils (0.8.8-3) を設定しています ...

ロジクール C920tのフォーマット一覧

Debianでロジクール C920tを使用する時、必要になります。
とりあえずメモ程度に残しておきます。

# v4l2-ctl --list-formats-ext
ioctl: VIDIOC_ENUM_FMT
        Index       : 0
        Type        : Video Capture
        Pixel Format: 'YUYV'
        Name        : YUV 4:2:2 (YUYV)
                Size: Discrete 640x480
                        Interval: Discrete 0.033 s (30.000 fps)
                        Interval: Discrete 0.042 s (24.000 fps)
                        Interval: Discrete 0.050 s (20.000 fps)
                        Interval: Discrete 0.067 s (15.000 fps)
                        Interval: Discrete 0.100 s (10.000 fps)
                        Interval: Discrete 0.133 s (7.500 fps)
                        Interval: Discrete 0.200 s (5.000 fps)
                Size: Discrete 160x90
                        Interval: Discrete 0.033 s (30.000 fps)
                        Interval: Discrete 0.042 s (24.000 fps)
                        Interval: Discrete 0.050 s (20.000 fps)
                        Interval: Discrete 0.067 s (15.000 fps)
                        Interval: Discrete 0.100 s (10.000 fps)
                        Interval: Discrete 0.133 s (7.500 fps)
                        Interval: Discrete 0.200 s (5.000 fps)
                Size: Discrete 160x120
                        Interval: Discrete 0.033 s (30.000 fps)
                        Interval: Discrete 0.042 s (24.000 fps)
                        Interval: Discrete 0.050 s (20.000 fps)
                        Interval: Discrete 0.067 s (15.000 fps)
                        Interval: Discrete 0.100 s (10.000 fps)
                        Interval: Discrete 0.133 s (7.500 fps)
                        Interval: Discrete 0.200 s (5.000 fps)
                Size: Discrete 176x144
                        Interval: Discrete 0.033 s (30.000 fps)
                        Interval: Discrete 0.042 s (24.000 fps)
                        Interval: Discrete 0.050 s (20.000 fps)
                        Interval: Discrete 0.067 s (15.000 fps)
                        Interval: Discrete 0.100 s (10.000 fps)
                        Interval: Discrete 0.133 s (7.500 fps)
                        Interval: Discrete 0.200 s (5.000 fps)
                Size: Discrete 320x180
                        Interval: Discrete 0.033 s (30.000 fps)
                        Interval: Discrete 0.042 s (24.000 fps)
                        Interval: Discrete 0.050 s (20.000 fps)
                        Interval: Discrete 0.067 s (15.000 fps)
                        Interval: Discrete 0.100 s (10.000 fps)
                        Interval: Discrete 0.133 s (7.500 fps)
                        Interval: Discrete 0.200 s (5.000 fps)
                Size: Discrete 320x240
                        Interval: Discrete 0.033 s (30.000 fps)
                        Interval: Discrete 0.042 s (24.000 fps)
                        Interval: Discrete 0.050 s (20.000 fps)
                        Interval: Discrete 0.067 s (15.000 fps)
                        Interval: Discrete 0.100 s (10.000 fps)
                        Interval: Discrete 0.133 s (7.500 fps)
                        Interval: Discrete 0.200 s (5.000 fps)
                Size: Discrete 352x288
                        Interval: Discrete 0.033 s (30.000 fps)
                        Interval: Discrete 0.042 s (24.000 fps)
                        Interval: Discrete 0.050 s (20.000 fps)
                        Interval: Discrete 0.067 s (15.000 fps)
                        Interval: Discrete 0.100 s (10.000 fps)
                        Interval: Discrete 0.133 s (7.500 fps)
                        Interval: Discrete 0.200 s (5.000 fps)
                Size: Discrete 432x240
                        Interval: Discrete 0.033 s (30.000 fps)
                        Interval: Discrete 0.042 s (24.000 fps)
                        Interval: Discrete 0.050 s (20.000 fps)
                        Interval: Discrete 0.067 s (15.000 fps)
                        Interval: Discrete 0.100 s (10.000 fps)
                        Interval: Discrete 0.133 s (7.500 fps)
                        Interval: Discrete 0.200 s (5.000 fps)
                Size: Discrete 640x360
                        Interval: Discrete 0.033 s (30.000 fps)
                        Interval: Discrete 0.042 s (24.000 fps)
                        Interval: Discrete 0.050 s (20.000 fps)
                        Interval: Discrete 0.067 s (15.000 fps)
                        Interval: Discrete 0.100 s (10.000 fps)
                        Interval: Discrete 0.133 s (7.500 fps)
                        Interval: Discrete 0.200 s (5.000 fps)
                Size: Discrete 800x448
                        Interval: Discrete 0.033 s (30.000 fps)
                        Interval: Discrete 0.042 s (24.000 fps)
                        Interval: Discrete 0.050 s (20.000 fps)
                        Interval: Discrete 0.067 s (15.000 fps)
                        Interval: Discrete 0.100 s (10.000 fps)
                        Interval: Discrete 0.133 s (7.500 fps)
                        Interval: Discrete 0.200 s (5.000 fps)
                Size: Discrete 800x600
                        Interval: Discrete 0.042 s (24.000 fps)
                        Interval: Discrete 0.050 s (20.000 fps)
                        Interval: Discrete 0.067 s (15.000 fps)
                        Interval: Discrete 0.100 s (10.000 fps)
                        Interval: Discrete 0.133 s (7.500 fps)
                        Interval: Discrete 0.200 s (5.000 fps)
                Size: Discrete 864x480
                        Interval: Discrete 0.042 s (24.000 fps)
                        Interval: Discrete 0.050 s (20.000 fps)
                        Interval: Discrete 0.067 s (15.000 fps)
                        Interval: Discrete 0.100 s (10.000 fps)
                        Interval: Discrete 0.133 s (7.500 fps)
                        Interval: Discrete 0.200 s (5.000 fps)
                Size: Discrete 960x720
                        Interval: Discrete 0.067 s (15.000 fps)
                        Interval: Discrete 0.100 s (10.000 fps)
                        Interval: Discrete 0.133 s (7.500 fps)
                        Interval: Discrete 0.200 s (5.000 fps)
                Size: Discrete 1024x576
                        Interval: Discrete 0.067 s (15.000 fps)
                        Interval: Discrete 0.100 s (10.000 fps)
                        Interval: Discrete 0.133 s (7.500 fps)
                        Interval: Discrete 0.200 s (5.000 fps)
                Size: Discrete 1280x720
                        Interval: Discrete 0.100 s (10.000 fps)
                        Interval: Discrete 0.133 s (7.500 fps)
                        Interval: Discrete 0.200 s (5.000 fps)
                Size: Discrete 1600x896
                        Interval: Discrete 0.133 s (7.500 fps)
                        Interval: Discrete 0.200 s (5.000 fps)
                Size: Discrete 1920x1080
                        Interval: Discrete 0.200 s (5.000 fps)
                Size: Discrete 2304x1296
                        Interval: Discrete 0.500 s (2.000 fps)
                Size: Discrete 2304x1536
                        Interval: Discrete 0.500 s (2.000 fps)

        Index       : 1
        Type        : Video Capture
        Pixel Format: 'H264' (compressed)
        Name        : H.264
                Size: Discrete 640x480
                        Interval: Discrete 0.033 s (30.000 fps)
                        Interval: Discrete 0.042 s (24.000 fps)
                        Interval: Discrete 0.050 s (20.000 fps)
                        Interval: Discrete 0.067 s (15.000 fps)
                        Interval: Discrete 0.100 s (10.000 fps)
                        Interval: Discrete 0.133 s (7.500 fps)
                        Interval: Discrete 0.200 s (5.000 fps)
                Size: Discrete 160x90
                        Interval: Discrete 0.033 s (30.000 fps)
                        Interval: Discrete 0.042 s (24.000 fps)
                        Interval: Discrete 0.050 s (20.000 fps)
                        Interval: Discrete 0.067 s (15.000 fps)
                        Interval: Discrete 0.100 s (10.000 fps)
                        Interval: Discrete 0.133 s (7.500 fps)
                        Interval: Discrete 0.200 s (5.000 fps)
                Size: Discrete 160x120
                        Interval: Discrete 0.033 s (30.000 fps)
                        Interval: Discrete 0.042 s (24.000 fps)
                        Interval: Discrete 0.050 s (20.000 fps)
                        Interval: Discrete 0.067 s (15.000 fps)
                        Interval: Discrete 0.100 s (10.000 fps)
                        Interval: Discrete 0.133 s (7.500 fps)
                        Interval: Discrete 0.200 s (5.000 fps)
                Size: Discrete 176x144
                        Interval: Discrete 0.033 s (30.000 fps)
                        Interval: Discrete 0.042 s (24.000 fps)
                        Interval: Discrete 0.050 s (20.000 fps)
                        Interval: Discrete 0.067 s (15.000 fps)
                        Interval: Discrete 0.100 s (10.000 fps)
                        Interval: Discrete 0.133 s (7.500 fps)
                        Interval: Discrete 0.200 s (5.000 fps)
                Size: Discrete 320x180
                        Interval: Discrete 0.033 s (30.000 fps)
                        Interval: Discrete 0.042 s (24.000 fps)
                        Interval: Discrete 0.050 s (20.000 fps)
                        Interval: Discrete 0.067 s (15.000 fps)
                        Interval: Discrete 0.100 s (10.000 fps)
                        Interval: Discrete 0.133 s (7.500 fps)
                        Interval: Discrete 0.200 s (5.000 fps)
                Size: Discrete 320x240
                        Interval: Discrete 0.033 s (30.000 fps)
                        Interval: Discrete 0.042 s (24.000 fps)
                        Interval: Discrete 0.050 s (20.000 fps)
                        Interval: Discrete 0.067 s (15.000 fps)
                        Interval: Discrete 0.100 s (10.000 fps)
                        Interval: Discrete 0.133 s (7.500 fps)
                        Interval: Discrete 0.200 s (5.000 fps)
                Size: Discrete 352x288
                        Interval: Discrete 0.033 s (30.000 fps)
                        Interval: Discrete 0.042 s (24.000 fps)
                        Interval: Discrete 0.050 s (20.000 fps)
                        Interval: Discrete 0.067 s (15.000 fps)
                        Interval: Discrete 0.100 s (10.000 fps)
                        Interval: Discrete 0.133 s (7.500 fps)
                        Interval: Discrete 0.200 s (5.000 fps)
                Size: Discrete 432x240
                        Interval: Discrete 0.033 s (30.000 fps)
                        Interval: Discrete 0.042 s (24.000 fps)
                        Interval: Discrete 0.050 s (20.000 fps)
                        Interval: Discrete 0.067 s (15.000 fps)
                        Interval: Discrete 0.100 s (10.000 fps)
                        Interval: Discrete 0.133 s (7.500 fps)
                        Interval: Discrete 0.200 s (5.000 fps)
                Size: Discrete 640x360
                        Interval: Discrete 0.033 s (30.000 fps)
                        Interval: Discrete 0.042 s (24.000 fps)
                        Interval: Discrete 0.050 s (20.000 fps)
                        Interval: Discrete 0.067 s (15.000 fps)
                        Interval: Discrete 0.100 s (10.000 fps)
                        Interval: Discrete 0.133 s (7.500 fps)
                        Interval: Discrete 0.200 s (5.000 fps)
                Size: Discrete 800x448
                        Interval: Discrete 0.033 s (30.000 fps)
                        Interval: Discrete 0.042 s (24.000 fps)
                        Interval: Discrete 0.050 s (20.000 fps)
                        Interval: Discrete 0.067 s (15.000 fps)
                        Interval: Discrete 0.100 s (10.000 fps)
                        Interval: Discrete 0.133 s (7.500 fps)
                        Interval: Discrete 0.200 s (5.000 fps)
                Size: Discrete 800x600
                        Interval: Discrete 0.033 s (30.000 fps)
                        Interval: Discrete 0.042 s (24.000 fps)
                        Interval: Discrete 0.050 s (20.000 fps)
                        Interval: Discrete 0.067 s (15.000 fps)
                        Interval: Discrete 0.100 s (10.000 fps)
                        Interval: Discrete 0.133 s (7.500 fps)
                        Interval: Discrete 0.200 s (5.000 fps)
                Size: Discrete 864x480
                        Interval: Discrete 0.033 s (30.000 fps)
                        Interval: Discrete 0.042 s (24.000 fps)
                        Interval: Discrete 0.050 s (20.000 fps)
                        Interval: Discrete 0.067 s (15.000 fps)
                        Interval: Discrete 0.100 s (10.000 fps)
                        Interval: Discrete 0.133 s (7.500 fps)
                        Interval: Discrete 0.200 s (5.000 fps)
                Size: Discrete 960x720
                        Interval: Discrete 0.033 s (30.000 fps)
                        Interval: Discrete 0.042 s (24.000 fps)
                        Interval: Discrete 0.050 s (20.000 fps)
                        Interval: Discrete 0.067 s (15.000 fps)
                        Interval: Discrete 0.100 s (10.000 fps)
                        Interval: Discrete 0.133 s (7.500 fps)
                        Interval: Discrete 0.200 s (5.000 fps)
                Size: Discrete 1024x576
                        Interval: Discrete 0.033 s (30.000 fps)
                        Interval: Discrete 0.042 s (24.000 fps)
                        Interval: Discrete 0.050 s (20.000 fps)
                        Interval: Discrete 0.067 s (15.000 fps)
                        Interval: Discrete 0.100 s (10.000 fps)
                        Interval: Discrete 0.133 s (7.500 fps)
                        Interval: Discrete 0.200 s (5.000 fps)
                Size: Discrete 1280x720
                        Interval: Discrete 0.033 s (30.000 fps)
                        Interval: Discrete 0.042 s (24.000 fps)
                        Interval: Discrete 0.050 s (20.000 fps)
                        Interval: Discrete 0.067 s (15.000 fps)
                        Interval: Discrete 0.100 s (10.000 fps)
                        Interval: Discrete 0.133 s (7.500 fps)
                        Interval: Discrete 0.200 s (5.000 fps)
                Size: Discrete 1600x896
                        Interval: Discrete 0.033 s (30.000 fps)
                        Interval: Discrete 0.042 s (24.000 fps)
                        Interval: Discrete 0.050 s (20.000 fps)
                        Interval: Discrete 0.067 s (15.000 fps)
                        Interval: Discrete 0.100 s (10.000 fps)
                        Interval: Discrete 0.133 s (7.500 fps)
                        Interval: Discrete 0.200 s (5.000 fps)
                Size: Discrete 1920x1080
                        Interval: Discrete 0.033 s (30.000 fps)
                        Interval: Discrete 0.042 s (24.000 fps)
                        Interval: Discrete 0.050 s (20.000 fps)
                        Interval: Discrete 0.067 s (15.000 fps)
                        Interval: Discrete 0.100 s (10.000 fps)
                        Interval: Discrete 0.133 s (7.500 fps)
                        Interval: Discrete 0.200 s (5.000 fps)

        Index       : 2
        Type        : Video Capture
        Pixel Format: 'MJPG' (compressed)
        Name        : MJPEG
                Size: Discrete 640x480
                        Interval: Discrete 0.033 s (30.000 fps)
                        Interval: Discrete 0.042 s (24.000 fps)
                        Interval: Discrete 0.050 s (20.000 fps)
                        Interval: Discrete 0.067 s (15.000 fps)
                        Interval: Discrete 0.100 s (10.000 fps)
                        Interval: Discrete 0.133 s (7.500 fps)
                        Interval: Discrete 0.200 s (5.000 fps)
                Size: Discrete 160x90
                        Interval: Discrete 0.033 s (30.000 fps)
                        Interval: Discrete 0.042 s (24.000 fps)
                        Interval: Discrete 0.050 s (20.000 fps)
                        Interval: Discrete 0.067 s (15.000 fps)
                        Interval: Discrete 0.100 s (10.000 fps)
                        Interval: Discrete 0.133 s (7.500 fps)
                        Interval: Discrete 0.200 s (5.000 fps)
                Size: Discrete 160x120
                        Interval: Discrete 0.033 s (30.000 fps)
                        Interval: Discrete 0.042 s (24.000 fps)
                        Interval: Discrete 0.050 s (20.000 fps)
                        Interval: Discrete 0.067 s (15.000 fps)
                        Interval: Discrete 0.100 s (10.000 fps)
                        Interval: Discrete 0.133 s (7.500 fps)
                        Interval: Discrete 0.200 s (5.000 fps)
                Size: Discrete 176x144
                        Interval: Discrete 0.033 s (30.000 fps)
                        Interval: Discrete 0.042 s (24.000 fps)
                        Interval: Discrete 0.050 s (20.000 fps)
                        Interval: Discrete 0.067 s (15.000 fps)
                        Interval: Discrete 0.100 s (10.000 fps)
                        Interval: Discrete 0.133 s (7.500 fps)
                        Interval: Discrete 0.200 s (5.000 fps)
                Size: Discrete 320x180
                        Interval: Discrete 0.033 s (30.000 fps)
                        Interval: Discrete 0.042 s (24.000 fps)
                        Interval: Discrete 0.050 s (20.000 fps)
                        Interval: Discrete 0.067 s (15.000 fps)
                        Interval: Discrete 0.100 s (10.000 fps)
                        Interval: Discrete 0.133 s (7.500 fps)
                        Interval: Discrete 0.200 s (5.000 fps)
                Size: Discrete 320x240
                        Interval: Discrete 0.033 s (30.000 fps)
                        Interval: Discrete 0.042 s (24.000 fps)
                        Interval: Discrete 0.050 s (20.000 fps)
                        Interval: Discrete 0.067 s (15.000 fps)
                        Interval: Discrete 0.100 s (10.000 fps)
                        Interval: Discrete 0.133 s (7.500 fps)
                        Interval: Discrete 0.200 s (5.000 fps)
                Size: Discrete 352x288
                        Interval: Discrete 0.033 s (30.000 fps)
                        Interval: Discrete 0.042 s (24.000 fps)
                        Interval: Discrete 0.050 s (20.000 fps)
                        Interval: Discrete 0.067 s (15.000 fps)
                        Interval: Discrete 0.100 s (10.000 fps)
                        Interval: Discrete 0.133 s (7.500 fps)
                        Interval: Discrete 0.200 s (5.000 fps)
                Size: Discrete 432x240
                        Interval: Discrete 0.033 s (30.000 fps)
                        Interval: Discrete 0.042 s (24.000 fps)
                        Interval: Discrete 0.050 s (20.000 fps)
                        Interval: Discrete 0.067 s (15.000 fps)
                        Interval: Discrete 0.100 s (10.000 fps)
                        Interval: Discrete 0.133 s (7.500 fps)
                        Interval: Discrete 0.200 s (5.000 fps)
                Size: Discrete 640x360
                        Interval: Discrete 0.033 s (30.000 fps)
                        Interval: Discrete 0.042 s (24.000 fps)
                        Interval: Discrete 0.050 s (20.000 fps)
                        Interval: Discrete 0.067 s (15.000 fps)
                        Interval: Discrete 0.100 s (10.000 fps)
                        Interval: Discrete 0.133 s (7.500 fps)
                        Interval: Discrete 0.200 s (5.000 fps)
                Size: Discrete 800x448
                        Interval: Discrete 0.033 s (30.000 fps)
                        Interval: Discrete 0.042 s (24.000 fps)
                        Interval: Discrete 0.050 s (20.000 fps)
                        Interval: Discrete 0.067 s (15.000 fps)
                        Interval: Discrete 0.100 s (10.000 fps)
                        Interval: Discrete 0.133 s (7.500 fps)
                        Interval: Discrete 0.200 s (5.000 fps)
                Size: Discrete 800x600
                        Interval: Discrete 0.033 s (30.000 fps)
                        Interval: Discrete 0.042 s (24.000 fps)
                        Interval: Discrete 0.050 s (20.000 fps)
                        Interval: Discrete 0.067 s (15.000 fps)
                        Interval: Discrete 0.100 s (10.000 fps)
                        Interval: Discrete 0.133 s (7.500 fps)
                        Interval: Discrete 0.200 s (5.000 fps)
                Size: Discrete 864x480
                        Interval: Discrete 0.033 s (30.000 fps)
                        Interval: Discrete 0.042 s (24.000 fps)
                        Interval: Discrete 0.050 s (20.000 fps)
                        Interval: Discrete 0.067 s (15.000 fps)
                        Interval: Discrete 0.100 s (10.000 fps)
                        Interval: Discrete 0.133 s (7.500 fps)
                        Interval: Discrete 0.200 s (5.000 fps)
                Size: Discrete 960x720
                        Interval: Discrete 0.033 s (30.000 fps)
                        Interval: Discrete 0.042 s (24.000 fps)
                        Interval: Discrete 0.050 s (20.000 fps)
                        Interval: Discrete 0.067 s (15.000 fps)
                        Interval: Discrete 0.100 s (10.000 fps)
                        Interval: Discrete 0.133 s (7.500 fps)
                        Interval: Discrete 0.200 s (5.000 fps)
                Size: Discrete 1024x576
                        Interval: Discrete 0.033 s (30.000 fps)
                        Interval: Discrete 0.042 s (24.000 fps)
                        Interval: Discrete 0.050 s (20.000 fps)
                        Interval: Discrete 0.067 s (15.000 fps)
                        Interval: Discrete 0.100 s (10.000 fps)
                        Interval: Discrete 0.133 s (7.500 fps)
                        Interval: Discrete 0.200 s (5.000 fps)
                Size: Discrete 1280x720
                        Interval: Discrete 0.033 s (30.000 fps)
                        Interval: Discrete 0.042 s (24.000 fps)
                        Interval: Discrete 0.050 s (20.000 fps)
                        Interval: Discrete 0.067 s (15.000 fps)
                        Interval: Discrete 0.100 s (10.000 fps)
                        Interval: Discrete 0.133 s (7.500 fps)
                        Interval: Discrete 0.200 s (5.000 fps)
                Size: Discrete 1600x896
                        Interval: Discrete 0.033 s (30.000 fps)
                        Interval: Discrete 0.042 s (24.000 fps)
                        Interval: Discrete 0.050 s (20.000 fps)
                        Interval: Discrete 0.067 s (15.000 fps)
                        Interval: Discrete 0.100 s (10.000 fps)
                        Interval: Discrete 0.133 s (7.500 fps)
                        Interval: Discrete 0.200 s (5.000 fps)
                Size: Discrete 1920x1080
                        Interval: Discrete 0.033 s (30.000 fps)
                        Interval: Discrete 0.042 s (24.000 fps)
                        Interval: Discrete 0.050 s (20.000 fps)
                        Interval: Discrete 0.067 s (15.000 fps)
                        Interval: Discrete 0.100 s (10.000 fps)
                        Interval: Discrete 0.133 s (7.500 fps)
                        Interval: Discrete 0.200 s (5.000 fps)