AAUX SOURCE
|
MSB |
|
|
|
|
|
|
LSB |
| PC0 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
| PC1 |
LF |
1 |
AF SIZE |
| PC2 |
SM |
CHN |
PA |
AUDIO MODE |
| PC3 |
1 |
ML |
50/60 |
STYPE |
| PC4 |
EF |
TC |
SMP |
QU |
LF
0: locked audio mode
1: unlocked audio mode
AF SIZE
48khz
000000 1580
000001 1581
101000 1620
SMP
0:48
1:44.1
2:32
AAUX SOURCE CODE
|
MSB |
|
|
|
|
|
|
LSB |
| PC0 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
| PC1 |
CGMS |
ISR |
CMP |
SS |
| PC2 |
REC ST |
REC END |
REC MODE |
INSET CH |
| PC3 |
DRF |
SPEED |
| PC4 |
1 |
GENRE CATEGORY |
CGMS
00: OK
01: Not used
10: one time
11: not copy
AAUX REC DATE
|
MSB |
|
|
|
|
|
|
LSB |
| PC0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
| PC1 |
DS |
TM |
TENS of TIME ZONE |
UNITS of TIME ZONE |
| PC2 |
1 |
1 |
TENS of DAY |
UNITS of DAY |
| PC3 |
WEEK |
TNMN |
UNITS of MONTH |
| PC4 |
TENS of YEAR |
UNITS of YEAR |
AAUX REC TIME
|
MSB |
|
|
|
|
|
|
LSB |
| PC0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
| PC1 |
1 |
1 |
TENS of FRAMES |
UNITS of FRAMES |
| PC2 |
1 |
TENS of SECONDS |
UNITS of SECONDS |
| PC3 |
1 |
TENS of MINUTES |
UNITS of MINUTES |
| PC4 |
1 |
1 |
TENS of HOURS |
UNITS of HOURS |
VAUX SOURCE
|
MSB |
|
|
|
|
|
|
LSB |
| PC0 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
| PC1 |
TENS of CH |
UNITSS of CH |
| PC2 |
B/W |
EN |
CLF |
HOUNDREDS of CH |
| PC3 |
SOURCE CODE |
50/60 |
STYPE |
| PC4 |
TUNER CATEGORY |
SOURCE CODE
00 CAMERA
01 LINE
10 CATV
11 TV
VAUX SOURCE CODE
|
MSB |
|
|
|
|
|
|
LSB |
| PC0 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
| PC1 |
CGMS |
ISR |
CMP |
SS |
| PC2 |
REC ST |
1 |
REC MODE |
1 |
DISP |
| PC3 |
FF |
FS |
FC |
IL |
ST |
SC |
BSYS |
| PC4 |
1 |
GENRE CATEGORY |
DISP
000: 4:3
001: 16:9
010: 16:9(スクイーズ)
FS
0: output Field 2
1: output Field 1
IL Interless
VAUX REC DATE
|
MSB |
|
|
|
|
|
|
LSB |
| PC0 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
| PC1 |
DS |
TM |
TENS of TIME ZONE |
UNITS of TIME ZONE |
| PC2 |
1 |
1 |
TENS of DAY |
UNITS of DAY |
| PC3 |
WEEK |
TNMN |
UNITS of MONTH |
| PC4 |
TENS of YEAR |
UNITS of YEAR |
VAUX REC TIME
|
MSB |
|
|
|
|
|
6 |
7 LSB |
| PC0 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
| PC1 |
1 |
1 |
TENS of FRAMES |
UNITS of FRAMES |
| PC2 |
1 |
TENS of SECONDS |
UNITS of SECONDS |
| PC3 |
1 |
TENS of MINUTES |
UNITS of MINUTES |
| PC4 |
1 |
1 |
TENS of HOURS |
UNITS of HOURS |
by IEC61834-4
[付録]
DVストリームに含まれる録画日時と録画時刻を表示するプログラム
#!/usr/local/bin/perl
#
# decode REC DATE and REC TIME from DV stream.
#
# eggman@ptie.org 2001.3.7
open (DVIN ,"test.dv");
binmode DVIN;
# search "5F 07 02"
while(read(DVIN, $buf, 1)){
if($buf eq pack("H2", "5F")){
read(DVIN, $buf, 1);
if($buf eq pack("H2", "07")){
read(DVIN, $buf, 1);
if($buf eq pack("H2", "02")){
read(DVIN, $buf, 77);
# print unpack("H144", $buf) . "\n";
&decode_VAUX($buf);
}
}
}
}
close (DVIN);
sub decode_VAUX(){
$PC = substr($_[0], 55,5);
print unpack("H10", $PC) . "\n";
$pc4 = chop($PC);
$pc3 = chop($PC);
$pc2 = chop($PC);
$pc1 = chop($PC);
$pc0 = chop($PC);
print "Header : ". unpack("H2", $pc0) . "\n";
print "Time Zone: ". unpack("H2", ($pc1&pack("H2","3F"))) . "\n";
print "Day : ". unpack("H2", ($pc2&pack("H2","3F"))) . "\n";
print "Month : ". unpack("H2", ($pc3&pack("H2","1F"))) . "\n";
print "Week : ". unpack("H1", $pc3>>5) . "\n";
print "Year : ". unpack("H2", ($pc4&pack("H2","3F"))) . "\n";
$PC = substr($_[0], 60,5);
print unpack("H10", $PC) . "\n";
$pc4 = chop($PC);
$pc3 = chop($PC);
$pc2 = chop($PC);
$pc1 = chop($PC);
$pc0 = chop($PC);
print "Header : ". unpack("H2", $pc0) . "\n";
print "Frames : ". unpack("H2", ($pc1&pack("H2","3F"))) . "\n";
print "Seconds : ". unpack("H2", ($pc2&pack("H2","7F"))) . "\n";
print "Minutes : ". unpack("H2", ($pc3&pack("H2","7F"))) . "\n";
print "Hours : ". unpack("H2", ($pc4&pack("H2","3F"))) . "\n";
}
実行例
> ./recdate.pl
62ffc68100
Header : 62
Time Zone: 3f
Day : 06
Month : 01
Week : 3
Year : 00
63ffd4a7d8
Header : 63
Frames : 3f
Seconds : 54
Minutes : 27
Hours : 18
62ffc68100
Header : 62
Time Zone: 3f
Day : 06
Month : 01
Week : 3
Year : 00
63ffd4a7d8
Header : 63
Frames : 3f
Seconds : 54
Minutes : 27
Hours : 18
|
DVストリームに含まれるオーディオフレームサイズ(48khzの場合のみ)を表示するプログラム
#!/usr/local/bin/perl
#
# decode Audio Frame Size from DV stream.
#
# eggman@ptie.org 2001.3.7
open (DVIN ,"test.dv");
binmode DVIN;
# search "70 07 03"
while(read(DVIN, $buf, 1)){
if(7 eq unpack("H1", $buf)){
read(DVIN, $buf, 1);
if($buf eq pack("H2", "07")){
read(DVIN, $buf, 1);
read(DVIN, $buf, 77);
$P0 = substr($buf, 0 ,1);
# print unpack("H144", $buf) . "\n";
&decode_AAUX($buf) if ($P0 eq pack("H2", "50"));
}
}
}
close (DVIN);
sub decode_AAUX(){
$PC = substr($_[0], 0 ,5);
print unpack("H10", $PC) . "\n";
$pc4 = chop($PC);
$pc3 = chop($PC);
$pc2 = chop($PC);
$pc1 = chop($PC);
$pc0 = chop($PC);
return 0 unless($pc0 eq pack("H2", "50"));
print "Header : ". unpack("H2", $pc0) . "\n";
$AF_SIZE = unpack("H2", ($pc1&pack("H2","3F"))) +1580;
print "Audio Frame Size: ". $AF_SIZE . "\n";
}
実行例
> ./AAUX.pl
50d500c0c0
Header : 50
Audio Frame Size: 1595
50d600c0c0
Header : 50
Audio Frame Size: 1596
50d600c0c0
Header : 50
Audio Frame Size: 1596
50d500c0c0
Header : 50
Audio Frame Size: 1595
50d600c0c0
Header : 50
Audio Frame Size: 1596
50d500c0c0
Header : 50
Audio Frame Size: 1595
50d600c0c0
Header : 50
Audio Frame Size: 1596
50d600c0c0
Header : 50
Audio Frame Size: 1596
50d500c0c0
Header : 50
Audio Frame Size: 1595
|
|