DVTS for Windows Keio University, Graduate School of Media and Governance WIDE Project Kazuhiro...
-
Upload
charlene-porter -
Category
Documents
-
view
214 -
download
0
Transcript of DVTS for Windows Keio University, Graduate School of Media and Governance WIDE Project Kazuhiro...
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]>
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
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
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
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
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
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
DVTS Release notesDVTS Release notes
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
Windows XP New VersionWindows XP New Version
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
Internal ArchitectureInternal Architecture• dvsend
IEEE1394Input
Device
Preview
DV/RTPoutputfilter
DVDecoder
Internet
Inputthrough
IEEE1394 bus
RTPPacketize
Internal ArchitectureInternal Architecture• dvrecv
DV/RTPinputfilter
DVDecoder
InternetRTP
de-PacketizeDecoding
Outputto
Monitor/Speaker
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
How to use DVTS forHow to use DVTS forWindowsWindows
GUI ApplicationGUI Application
SendSendUnder implementation
Deviceselection
Dest.IP Addr
portnumber
DIF block count
Start sending
How to sendHow to send• Send
Select DV deviceSet destinationSet port numberSet DIF size
Click Start Sending button
ReceiveReceive
portnumber
SelectIPv4 / IPv6
Selectoutput
Multicastconfiguration
Click to start
IP ver.
Port num.
Output statusPacketcount
Packetloss
Videotype
status bar
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
HACKS…HACKS…
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
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)}
}
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
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
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);
Release ScheduleRelease Schedule• Receive filter
– Status: 85%
• Send filter– Status: 15%
• Beta in October – November
• New GUI– Status: 65%
before reconnectbefore reconnect
not connected
after reconnectafter reconnect
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
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
TOCTOC• about DV with Windows• DVTS inside• previous DVTS function• new DVTS function (updates)• Known issue• Release schedule