Usage
./bmdcapture -C 1 -m 2 -F nut -o strict=experimental:syncpoints=none -f pipe:1 | avconv -vsync passthrough -y -i - <your options here>
- -C
- select the capture device if more than one is present.
- -F
- define the container format, I suggest using nut.
- -f
- output file name, any libavformat compatible url is supported.
- -m
- specific modeline, resolution+framerate
- -o
- pass AVFormat AVOptions (expert)
ということなのだが、いまいち使い方がわからないので調べれた範囲でまとめる。
$ bmdcapture --help
bmdcapture: invalid option -- '-'
Usage: bmdcapture -m <mode id> [OPTIONS]
-m <mode id>:
-> UltraStudio Mini Recorder (-C 0 )
Supported video input display modes and pixel formats:
0: 525i59.94 NTSC 720 x 486 29.97 FPS
1: 525p23.98 NTSC 720 x 486 23.976 FPS
2: 625i50 PAL 720 x 576 25 FPS
3: 525p59.94 NTSC 720 x 486 59.9401 FPS
4: 625p50 PAL 720 x 576 50 FPS
5: 1080p23.98 1920 x 1080 23.976 FPS
6: 1080p24 1920 x 1080 24 FPS
7: 1080p25 1920 x 1080 25 FPS
8: 1080p29.97 1920 x 1080 29.97 FPS
9: 1080p30 1920 x 1080 30 FPS
10: 1080i50 1920 x 1080 25 FPS
11: 1080i59.94 1920 x 1080 29.97 FPS
12: 1080i60 1920 x 1080 30 FPS
13: 720p50 1280 x 720 50 FPS
14: 720p59.94 1280 x 720 59.9401 FPS
15: 720p60 1280 x 720 60 FPS
-v Be verbose (report each 25 frames)
-f <filename> Filename raw video will be written to
-F <format> Define the file format to be used
-c <channels> Audio Channels (2, 8 or 16 - default is 2)
-s <depth> Audio Sample Depth (16 or 32 - default is 16)
-p <pixel> PixelFormat (yuv8, yuv10, rgb10)
-n <frames> Number of frames to capture (default is unlimited)
-M <memlimit> Maximum queue size in GB (default is 1 GB)
-C <num> number of card to be used
-S <serial_device> data input serial
-A <audio-in> Audio input:
1: Analog (RCA or XLR)
2: Embedded Audio (HDMI/SDI)
3: Digital Audio (AES/EBU)
-V <video-in> Video input:
1: Composite
2: Component
3: HDMI
4: SDI
5: Optical SDI
6: S-Video
-o <optionstring> AVFormat options
-w Embed a wallclock stream
-d <filler> When the source is offline draw a black frame or color bars
0: black frame
1: color bars
Capture video and audio to a file.
Raw video and audio can be sent to a pipe to avconv or vlc e.g.:
bmdcapture -m 2 -A 1 -V 1 -F nut -f pipe:1
bmdcapture: invalid option -- '-'
このように、使い方は変なオプションを設定すると表示される。
Usage: bmdcapture -m <mode id> [OPTIONS]
-m
でモードを指定するとキャプチャが開始される。
モードの種類は認識されるデバイスによって異なるかもしれない。
Ultrastudio Mini Recorder を利用している場合、
Supported video input display modes and pixel formats:
Mode Definition Resolution FPS 0 525i59.94 NTSC 720 x 486 29.97 1 525p23.98 NTSC 720 x 486 23.976 2 625i50 PAL 720 x 576 25 3 525p59.94 NTSC 720 x 486 59.9401 4 625p50 PAL 720 x 576 50 5 1080p23.98 1920 x 1080 23.976 6 1080p24 1920 x 1080 24 7 1080p25 1920 x 1080 25 8 1080p29.97 1920 x 1080 29.97 9 1080p30 1920 x 1080 30 10 1080i50 1920 x 1080 25 11 1080i59.94 1920 x 1080 29.97 12 1080i60 1920 x 1080 30 13 720p50 1280 x 720 50 14 720p59.94 1280 x 720 59.9401 15 720p60 1280 x 720 60
-m 9
とすれば 1080p 30 FPS で収録するということになる。
入力されている信号と同じ映像規格(Definition)でなければキャプチャできない。
-C
number of card to be used
-C
オプションで利用するデバイスを選択できる。
認識しているデバイスは help の上部に、
-m <mode id>: -> UltraStudio Mini Recorder (-C 0 )
とデバイス名と共に表示されている。
この場合、 Ultrastudio Mini Recorder を利用する場合、 -C 0
と指定する。
- -A <audio-in>
- Audio input:
- Analog (RCA or XLR)
- Embedded Audio (HDMI/SDI)
- Digital Audio (AES/EBU)
- -V <video-in>
- Video input:
- Composite
- Component
- HDMI
- SDI
- Optical SDI
- S-Video
オーディオ/ビデオの入力端子を指定する。
表示の通りで、HDMIケーブルから音声も映像も受け取る場合、-A 2 -V 3
のように指定する。
分かる範囲のもの
- -c <channels>
- Audio Channels (2, 8 or 16 - default is 2)
音声のチャンネル数を指定する。指定しない場合はステレオになる。-c 8
で8ch入力になる。
- -s <depth>
- Audio Sample Depth (16 or 32 - default is 16)
音声のビット深度。指定しない場合16bit。 -s 32
で32bitになる。
- -p <pixel>
- PixelFormat (yuv8, yuv10, rgb10)
ピクセルフォーマット。デフォルトではyuv8bit。 -p rgb10
を指定するとRGB10bitになる。
- -f <filename>
- Filename raw video will be written to
入力されるRAWデータを保存するファイル名を出力する。他のプログラムにパイプ(|
)を用いて渡したい場合(この利用方法が多いはず)、pipe:1
を指定する。
bmdcapture -m 9 -C 0 -A 2 -V 3 -f ./video.raw
-C 0
のデバイスからHDMIで1080p 30FPSでキャプチャしたものを、カレントディレクトリの video.raw に書き込む。
$ bmdcapture -C 0 -m 9 -F nut -V 3 -A 2 -o strict=experimental:syncpoints=none -f pipe:1 | avconv -vsync passthrough -y -i - -vcodec libx264 test.avi
-C 0
のデバイスからHDMIで1080p 30FPSでキャプチャしたものを、strict=experimental
, syncpoints=none
オプションを付けてavconv
に渡している。
avconv
はlibx264コーデックを利用して test.avi に書き出している。