DVTS for Windows Keio University, Graduate School of Media and Governance WIDE Project Kazuhiro...

35
DVTS for Windows DVTS for Windows Keio University, Keio University, Graduate School of Media and Governance Graduate School of Media and Governance WIDE Project WIDE Project Kazuhiro MISHIMA Kazuhiro MISHIMA <[email protected]> <[email protected]>

Transcript of DVTS for Windows Keio University, Graduate School of Media and Governance WIDE Project Kazuhiro...

Page 1: DVTS for Windows Keio University, Graduate School of Media and Governance WIDE Project Kazuhiro MISHIMA

DVTS for WindowsDVTS for Windows

Keio University,Keio University,Graduate School of Media and GovernanceGraduate School of Media and Governance

WIDE ProjectWIDE Project

Kazuhiro MISHIMAKazuhiro MISHIMA<[email protected]><[email protected]>

Page 2: DVTS for Windows Keio University, Graduate School of Media and Governance WIDE Project Kazuhiro MISHIMA

DVTS for WindowsDVTS for Windows• Introduction

– Implementing DVTS to Windows platform• Brief introduction to MSD

– Release notes– How to use DVTS for Windows

• Release schedule– What’s new in next release– Known bugs, issues

Page 3: DVTS for Windows Keio University, Graduate School of Media and Governance WIDE Project Kazuhiro MISHIMA

Managing DVTS inManaging DVTS inWindowsWindows• Using DirectShow technology

– DV Capture Device Driver (MSDV)– Filters

• DV Splitter Filter• DV Muxer Filter• DV Video Decoder Filter• DV Video Encoder Filter

DVTS uses these filters

Page 4: DVTS for Windows Keio University, Graduate School of Media and Governance WIDE Project Kazuhiro MISHIMA

What is DirectShow?What is DirectShow?• DirectX technology

– Media streaming architecture for Windows– Supports high quality capture and playback of

multimedia stream

• Based on COM (Component Object Model)– Pre-defined COM

• Filter and filter graph– Modular mechanism

Page 5: DVTS for Windows Keio University, Graduate School of Media and Governance WIDE Project Kazuhiro MISHIMA

FilterFilter• DirectShow uses multiple object for

transactions– One object = Filter (COM)– Filter has input/output pins

– Source• data source

– Encoder, Decoder, Splitter• converting, multiplexing

– Renderer• output device

Filter

inputpin

outputpin

Page 6: DVTS for Windows Keio University, Graduate School of Media and Governance WIDE Project Kazuhiro MISHIMA

Filter GraphFilter Graph• Combination of filters

ex) Playing MPEG Movie

MovieFile

MPEGStreamSplitter

inputpin

MPEGSound

Decoder

MPEGVideo

Decoder

outputpin

SoundRenderer

VideoRenderer

inputpin

outputpin

inputpin

outputpin

inputpin

outputpin

inputpin

outputpin

Page 7: DVTS for Windows Keio University, Graduate School of Media and Governance WIDE Project Kazuhiro MISHIMA

Filter Graph ManagerFilter Graph Manager• Management of Filter Graph

– Object giving instruction to all filters

Applications

Filter Graph Manager

Filters

commands

commands

notify, status

notify, status

Page 8: DVTS for Windows Keio University, Graduate School of Media and Governance WIDE Project Kazuhiro MISHIMA

DVTS Release notesDVTS Release notes

Page 9: DVTS for Windows Keio University, Graduate School of Media and Governance WIDE Project Kazuhiro MISHIMA

Previous DVTSPrevious DVTS• Supports

– NTSC only– Receive

• IPv4/v6 unicast• IPv4/v6 multicast• Monitors packet losses

– Send• IPv4/v6 unicast• IPv4/v6 multicast• DV preview window• NTSC only = 12 DIF count set• Multicast TTL fixed = 1

Page 10: DVTS for Windows Keio University, Graduate School of Media and Governance WIDE Project Kazuhiro MISHIMA

Windows XP New VersionWindows XP New Version

Page 11: DVTS for Windows Keio University, Graduate School of Media and Governance WIDE Project Kazuhiro MISHIMA

New DVTS is HERE!!!New DVTS is HERE!!!• Supporting

– PAL (Video Type probing and re-connection)– Receive

• Selectable IEEE1394 device• Selectable receive interface• IEEE1394 output support

– Send• Selectable IEEE1394 device• Selectable send interface• DIF block count configurable• TTL on multicast configurable

– All functions supported on previous version

PLUS

Page 12: DVTS for Windows Keio University, Graduate School of Media and Governance WIDE Project Kazuhiro MISHIMA

Internal ArchitectureInternal Architecture• dvsend

IEEE1394Input

Device

Preview

DV/RTPoutputfilter

DVDecoder

Internet

Inputthrough

IEEE1394 bus

RTPPacketize

Page 13: DVTS for Windows Keio University, Graduate School of Media and Governance WIDE Project Kazuhiro MISHIMA

Internal ArchitectureInternal Architecture• dvrecv

DV/RTPinputfilter

DVDecoder

InternetRTP

de-PacketizeDecoding

Outputto

Monitor/Speaker

Page 14: DVTS for Windows Keio University, Graduate School of Media and Governance WIDE Project Kazuhiro MISHIMA

Implementation updateImplementation update• New DV/RTP receive filter

– Replace: DV/RTP input filter (dvrtpin.dll)

• DV/RTP send filter– Replace: DV/RTP output filter (dvrtpout.dll)

• New GUI application– Dialog

• previous DVTS uses SDI

Page 15: DVTS for Windows Keio University, Graduate School of Media and Governance WIDE Project Kazuhiro MISHIMA

How to use DVTS forHow to use DVTS forWindowsWindows

Page 16: DVTS for Windows Keio University, Graduate School of Media and Governance WIDE Project Kazuhiro MISHIMA

GUI ApplicationGUI Application

Page 17: DVTS for Windows Keio University, Graduate School of Media and Governance WIDE Project Kazuhiro MISHIMA

SendSendUnder implementation

Deviceselection

Dest.IP Addr

portnumber

DIF block count

Start sending

Page 18: DVTS for Windows Keio University, Graduate School of Media and Governance WIDE Project Kazuhiro MISHIMA

How to sendHow to send• Send

Select DV deviceSet destinationSet port numberSet DIF size

Click Start Sending button

Page 19: DVTS for Windows Keio University, Graduate School of Media and Governance WIDE Project Kazuhiro MISHIMA

ReceiveReceive

portnumber

SelectIPv4 / IPv6

Selectoutput

Multicastconfiguration

Click to start

IP ver.

Port num.

Output statusPacketcount

Packetloss

Videotype

status bar

Page 20: DVTS for Windows Keio University, Graduate School of Media and Governance WIDE Project Kazuhiro MISHIMA

How to receiveHow to receive• Receive

– Just click Start Receiving button

– Output IEEE1394 device• Check IEEE1394 output checkbox• Select IEEE1394 device• Click Start Receiving button

– Additional configuration• Restart receiving after reconfiguration

– port number– IP version– Multicast configuration

Page 21: DVTS for Windows Keio University, Graduate School of Media and Governance WIDE Project Kazuhiro MISHIMA

HACKS…HACKS…

Page 22: DVTS for Windows Keio University, Graduate School of Media and Governance WIDE Project Kazuhiro MISHIMA

Little hacks on NTSC/PALLittle hacks on NTSC/PAL• Hacks using reconnect

– Video type detection (NTSC or PAL?)• Detected by VAUX and AAUX field

– disconnect all filters– re-connect all filters

• Reconnection requirements– behavior of DV Splitter on GraphBuilder replac

ed by Video Type

Page 23: DVTS for Windows Keio University, Graduate School of Media and Governance WIDE Project Kazuhiro MISHIMA

Detection Method in DVTSDetection Method in DVTS

• Check VAUX (VAuxSrc)1. Find VAuxSrc (by bit operation)2. Find and check 50/60 bit (by bit operation)3. if TRUE -> NTSC (DV Sequence count = 10)

if FALSE -> PAL (DV Sequence count = 12)

if ((m_DVInfo.dwDVVAuxSrc == 0) && (*ptr == 0x60)){

CopyMemory(&m_DVInfo.dwDVVAuxSrc, ptr + 1, sizeof(DWORD));

if(!(m_DVInfo.dwDVVAuxSrc & 0x00200000)){

m_DVDSeqCount = 10; //NTSC (if PAL = 12)}

}

Page 24: DVTS for Windows Keio University, Graduate School of Media and Governance WIDE Project Kazuhiro MISHIMA

AAuxSrcAAuxSrc

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

if NTSC(625-60 system)50/60 bit is 0STYPE bit is 00000

if PAL(625-50 system)50/60 bit is 1STYPE bit is 00000

Page 25: DVTS for Windows Keio University, Graduate School of Media and Governance WIDE Project Kazuhiro MISHIMA

VAuxSrcVAuxSrc

PC0 0 1 1 0 0 0 0 0

PC1 TENS OF TV CHAN. UNITS OF TV CHAN.

PC2 B/W EN CLF HUNDREDS OF TV CHAN.

PC3 SOURCE CODE 50/60 STYPE

PC4 TUNER CATEGORY

if NTSC(625-60 system)50/60 bit is 0STYPE bit is 00000

if PAL(625-50 system)50/60 bit is 1STYPE bit is 00000

Page 26: DVTS for Windows Keio University, Graduate School of Media and Governance WIDE Project Kazuhiro MISHIMA

To do…To do…• Lip sync

– new filter implements timestamp correction

– Please evaluate!

REFERENCE_TIME rts = m_FrameCount * 333667;REFERENCE_TIME rte = (m_FrameCount + 1) * 333667;pSamp->SetTime(&rts, &rte);pSamp->SetMediaTime(&m_FrameCount, &m_FrameCount);pSamp->SetSyncPoint(TRUE);

Page 27: DVTS for Windows Keio University, Graduate School of Media and Governance WIDE Project Kazuhiro MISHIMA

Release ScheduleRelease Schedule• Receive filter

– Status: 85%

• Send filter– Status: 15%

• Beta in October – November

• New GUI– Status: 65%

Page 28: DVTS for Windows Keio University, Graduate School of Media and Governance WIDE Project Kazuhiro MISHIMA
Page 29: DVTS for Windows Keio University, Graduate School of Media and Governance WIDE Project Kazuhiro MISHIMA
Page 30: DVTS for Windows Keio University, Graduate School of Media and Governance WIDE Project Kazuhiro MISHIMA
Page 31: DVTS for Windows Keio University, Graduate School of Media and Governance WIDE Project Kazuhiro MISHIMA

before reconnectbefore reconnect

not connected

Page 32: DVTS for Windows Keio University, Graduate School of Media and Governance WIDE Project Kazuhiro MISHIMA

after reconnectafter reconnect

Page 33: DVTS for Windows Keio University, Graduate School of Media and Governance WIDE Project Kazuhiro MISHIMA

AAuxSrc in AAUXAAuxSrc in AAUX• describe a Audio Source Type

– Audio System Type (PAL/NTSC)– Audio Type– Audio Channels etc…

• AAuxSrc can find on– 1st(odd) or 4th(even) Audio pack– Pack Header: 50h

Page 34: DVTS for Windows Keio University, Graduate School of Media and Governance WIDE Project Kazuhiro MISHIMA

VAuxSrc in VAUXVAuxSrc in VAUX• describe a Video Source Type

– Video System Type (PAL/NTSC)– Video Type– Tuner Type– Tuner Channel Number etc…

• VAuxSrc can find on– 1st(odd) or 40th(even) Video pack– Pack Header: 60h

Page 35: DVTS for Windows Keio University, Graduate School of Media and Governance WIDE Project Kazuhiro MISHIMA

TOCTOC• about DV with Windows• DVTS inside• previous DVTS function• new DVTS function (updates)• Known issue• Release schedule