Page 1 of 1

trouble opening capture device for JVC HD10U camera

Posted: 19 Mar 2005 18:34
by frases
Guys,
When I try to view content on my JVC HD10U (high def) camera via firewire through VLC (either live feed or from tape), I get a garbled picture in VLC. Playing or streaming files in VLC works just fine, though. I've tried a lot of different things to solve the problem:
- tried the following options in VLC (dshow-caching=1000,cr-average=1000,turned off hardware overlay)
- reinstalling my firewire driver
- reinstalling my capture driver
- tried a different video card. I went from ATI 9800 all in wonder pro to a matrox parhelia..same problem. So it's not the video card drivers.
- updated my directx to 9.0c

Here is what the messages say. The first error seems to be this:
dshow debug: EnumDeviceCaps: trying pin MPEG2TS Out
dshow debug: EnumDeviceCaps: input pin: unknown format (stream ¤©Š)

Can anybody help?
scott

Here is the entire message log:
main debug: adding playlist item `dshow://' ( dshow:// )
main debug: creating new input thread
main debug: set input option: dshow-config to false
main debug: set input option: dshow-tuner to false
main debug: waiting for thread completion
main debug: `dshow://' gives access `dshow' demux `' path `'
main debug: demux2_New: access='dshow' demux='' path=''
main debug: looking for access_demux module
main debug: probing 1 candidate
main debug: thread 3184 (input) created at priority 1 (src/input/input.c:228)
dshow debug: found device: Microsoft AV/C Tape Subunit Device
dshow debug: found device: ATI Rage Theater Video Capture
dshow debug: using device: Microsoft AV/C Tape Subunit Device
dshow debug: EnumDeviceCaps: output pin: MPEG2TS Out
dshow debug: EnumDeviceCaps: input pin: MPEG2TS In
dshow debug: EnumDeviceCaps: trying pin MPEG2TS Out
dshow debug: EnumDeviceCaps: input pin: unknown format (stream ¤©Š)
dshow debug: EnumDeviceCaps: input pin accepts stream format: mp2t
dshow debug: CaptureFilter::JoinFilterGraph
dshow debug: connecting filters
dshow debug: CaptureFilter::EnumPins
dshow debug: CapturePin::QueryDirection
dshow debug: CapturePin::ConnectedTo [not connected]
dshow debug: CapturePin::QueryPinInfo
dshow debug: CaptureFilter::QueryFilterInfo
dshow debug: CapturePin::QueryPinInfo
dshow debug: CaptureFilter::EnumPins
dshow debug: CapturePin::QueryDirection
dshow debug: CapturePin::QueryDirection
dshow debug: CapturePin::QueryAccept [OK] (stream format=mp2t)
dshow debug: CapturePin::ReceiveConnection [OK]
dshow debug: CapturePin::NotifyAllocator
dshow debug: CapturePin::QueryAccept [OK] (stream format=mp2t)
dshow debug: filters connected successfully !
dshow debug: MEDIATYPE_Stream
dshow debug: selected stream pin accepts format: mp2t
dshow debug: Releasing DirectShow
dshow debug: CaptureFilter::EnumPins
dshow debug: CapturePin::QueryDirection
dshow debug: CapturePin::ConnectedTo [OK]
dshow debug: CapturePin::Disconnect [OK]
dshow debug: CaptureFilter::SetSyncSource
dshow debug: CaptureFilter::JoinFilterGraph
dshow debug: CaptureFilter::GetState 0
dshow debug: CaptureFilter::~CaptureFilter
dshow debug: CapturePin::~CapturePin
main warning: no access_demux module matching "dshow" could be loaded
main debug: access2_New: access='dshow' path=''
main debug: looking for access2 module
main debug: probing 5 candidates
dshow debug: found device: Microsoft AV/C Tape Subunit Device
dshow debug: found device: ATI Rage Theater Video Capture
dshow debug: using device: Microsoft AV/C Tape Subunit Device
dshow debug: EnumDeviceCaps: output pin: MPEG2TS Out
dshow debug: EnumDeviceCaps: input pin: MPEG2TS In
dshow debug: EnumDeviceCaps: trying pin MPEG2TS Out
dshow debug: EnumDeviceCaps: input pin: unknown format (stream ¤©Š)
dshow debug: EnumDeviceCaps: input pin accepts stream format: mp2t
dshow debug: CaptureFilter::JoinFilterGraph
dshow debug: connecting filters
dshow debug: CaptureFilter::EnumPins
dshow debug: CapturePin::QueryDirection
dshow debug: CapturePin::ConnectedTo [not connected]
dshow debug: CapturePin::QueryPinInfo
dshow debug: CaptureFilter::QueryFilterInfo
dshow debug: CapturePin::QueryPinInfo
dshow debug: CaptureFilter::EnumPins
dshow debug: CapturePin::QueryDirection
dshow debug: CapturePin::QueryDirection
dshow debug: CapturePin::QueryAccept [OK] (stream format=mp2t)
dshow debug: CapturePin::ReceiveConnection [OK]
dshow debug: CapturePin::NotifyAllocator
dshow debug: CapturePin::QueryAccept [OK] (stream format=mp2t)
dshow debug: filters connected successfully !
dshow debug: MEDIATYPE_Stream
dshow debug: selected stream pin accepts format: mp2t
dshow debug: Playing...
dshow debug: CapturePin::QueryPinInfo
dshow debug: CaptureFilter::EnumPins
dshow debug: CapturePin::QueryDirection
dshow debug: CapturePin::QueryPinInfo
dshow debug: CaptureFilter::EnumPins
dshow debug: CapturePin::QueryDirection
dshow debug: CaptureFilter::EnumPins
dshow debug: CapturePin::QueryDirection
dshow debug: CaptureFilter::EnumPins
dshow debug: CapturePin::QueryDirection
dshow debug: CapturePin::ConnectedTo [OK]
dshow debug: CaptureFilter::SetSyncSource
dshow debug: CaptureFilter::Pause
dshow debug: CaptureFilter::Run
main debug: using access2 module "dshow"
main debug: pre buffering
main debug: received first data for our buffer
main debug: prebuffering done 229369 bytes in 0s - 1103 kbytes/s
main debug: demux2_New: access='dshow' demux='' path=''
main debug: looking for demux2 module
main debug: probing 34 candidates
mp4 warning: MP4 plugin discarded (not a valid file)
avi warning: avi module discarded (invalid header)
asf warning: ASF plugin discarded (not a valid file)
flac warning: flac module discarded (no startcode)
aac warning: AAC module discarded
main debug: looking for id3 module
main debug: probing 2 candidates
id3tag debug: checking for ID3 tag
main debug: using id3 module "id3tag"
main debug: unlocking module "id3tag"
mpgv warning: ES module discarded (no startcode)
sap warning: SDP (UDP) module discarded
livedotcom warning: SDP module discarded
mkv warning: matroska module discarded (invalid header 0x47100014)
ogg warning: ogg module discarded (invalid header)
real warning: Real module discarded
aiff warning: AIFF module discarded
au warning: AU module discarded
mod warning: MOD module discarded (path=)
nsv warning: NSV module discarded
playlist warning: old import module discarded: invalid file
playlist warning: pls import module discarded
pva warning: PVA module discarded
main debug: using demux2 module "ts"
ts debug: DEMUX_SET_GROUP 0 00000000
main debug: `dshow://' sucessfully opened
ts debug: pid[4096] unknown
ts debug: pid[4098] unknown
ts debug: pid[4095] unknown
ts warning: lost synchro
ts debug: skipping 55 bytes of garbage
ts warning: lost synchro
ts debug: skipping 55 bytes of garbage
ts warning: lost synchro
ts debug: skipping 55 bytes of garbage
ts warning: lost synchro
ts debug: skipping 55 bytes of garbage
ts debug: PATCallBack called
ts debug: new PAT ts_id=1 version=0 current_next=1
ts debug: * number=0 pid=31
ts debug: * number=1 pid=110
ts debug: PMTCallBack called
ts debug: new PMT program number=1 version=0 pid_pcr=4095
ts debug: * descriptor : unknown (0x5)
ts debug: * descriptor : unknown (0xe)
ts debug: * descriptor : unknown (0x88)
ts debug: * es pid=4096 type=2 fcc=mpgv
main debug: Selecting program id=1
main debug: looking for decoder module
main debug: probing 23 candidates
main debug: using decoder module "libmpeg2"
main debug: thread 3872 (decoder) created at priority 0 (src/input/decoder.c:157)
ts debug: * descriptor : unknown (0x2)
ts debug: * descriptor : unknown (0x52)
ts debug: * es pid=4098 type=3 fcc=mpga
main debug: looking for decoder module
main debug: probing 23 candidates
main debug: using decoder module "mpeg_audio"
main debug: thread 3904 (decoder) created at priority 2 (src/input/decoder.c:157)
ts debug: * descriptor : unknown (0x52)
ts debug: pid[31] unknown
ts warning: first packet for pid=4096 cc=0x4
ts warning: first packet for pid=4098 cc=0x9
ts warning: lost synchro
ts debug: skipping 55 bytes of garbage
ts warning: discontinuity received 0xf instead of 0xe
ts warning: discontinuity received 0xc instead of 0xa
ts warning: lost synchro
ts debug: skipping 55 bytes of garbage
ts warning: discontinuity received 0x8 instead of 0x7
ts warning: discontinuity received 0x2 instead of 0x0
ts warning: lost synchro
ts debug: skipping 55 bytes of garbage
ts warning: discontinuity received 0x8 instead of 0x6
ts warning: discontinuity received 0xd instead of 0xb
ts debug: pid[8191] unknown
ts warning: lost synchro
ts debug: skipping 55 bytes of garbage
ts warning: discontinuity received 0x9 instead of 0x1
ts warning: discontinuity received 0x3 instead of 0x1
mpeg_audio: MPGA channels:2 samplerate:48000 bitrate:384
main debug: no aout present, spawning one
main debug: looking for audio output module
main debug: probing 3 candidates
aout_directx debug: OpenAudio
ts warning: lost synchro
ts debug: skipping 55 bytes of garbage
ts warning: discontinuity received 0xf instead of 0xe
ts warning: discontinuity received 0x9 instead of 0x7
ts warning: lost synchro
ts debug: skipping 55 bytes of garbage
ts warning: discontinuity received 0x9 instead of 0x8
ts warning: discontinuity received 0xe instead of 0xd
ts warning: lost synchro
ts debug: skipping 55 bytes of garbage
ts warning: discontinuity received 0x2 instead of 0x1
ts warning: discontinuity received 0x4 instead of 0x3
ts warning: lost synchro
ts debug: skipping 55 bytes of garbage
ts warning: discontinuity received 0x9 instead of 0x7
ts warning: discontinuity received 0xa instead of 0x9
aout_directx debug: device supports 2 channels
aout_directx debug: device supports 1 channel
aout_directx debug: creating DirectSoundThread
main debug: thread 4428 (DirectSound Notification Thread) created at priority 15 (directx.c:357)
aout_directx debug: DirectSoundThread ready
main debug: using audio output module "aout_directx"
main debug: output 'fl32' 48000 Hz Stereo frame=1 samples/8 bytes
main debug: mixer 'fl32' 48000 Hz Stereo frame=1 samples/8 bytes
main debug: no need for any filter
main debug: looking for audio mixer module
main debug: probing 3 candidates
main debug: using audio mixer module "trivial_mixer"
main debug: input 'mpga' 48000 Hz Stereo frame=1152 samples/1161 bytes
main debug: filter(s) 'mpga'->'fl32' 48000 Hz->48000 Hz Stereo->Stereo
main debug: looking for audio filter module
main debug: probing 23 candidates
main debug: using audio filter module "mpgatofixed32"
main debug: found a filter for the whole conversion
main debug: filter(s) 'fl32'->'fl32' 52800 Hz->48000 Hz Stereo->Stereo
main debug: looking for audio filter module
main debug: probing 23 candidates
main debug: using audio filter module "bandlimited_resampler"
main debug: found a filter for the whole conversion
mpeg_audio debug: emulated startcode (no startcode on following frame)
mpeg_audio debug: emulated startcode (no startcode on following frame)
mpeg_audio debug: emulated startcode (no startcode on following frame)
ts warning: lost synchro
ts debug: skipping 55 bytes of garbage
ts warning: discontinuity received 0x2 instead of 0x1
ts warning: discontinuity received 0x0 instead of 0xe
ts warning: lost synchro
ts debug: skipping 55 bytes of garbage
ts warning: discontinuity received 0x5 instead of 0x4
main warning: buffer is 71978 in advance, triggering downsampling
ts warning: discontinuity received 0xb instead of 0xa
mpeg_audio debug: emulated startcode (no startcode on following frame)
ts warning: lost synchro
ts debug: skipping 55 bytes of garbage
ts warning: discontinuity received 0xc instead of 0xb
ts warning: discontinuity received 0x1 instead of 0xf
ts debug: PATCallBack called
ts debug: PMTCallBack called
ts warning: lost synchro
ts debug: skipping 55 bytes of garbage
ts warning: discontinuity received 0x2 instead of 0x1
ts warning: discontinuity received 0x7 instead of 0x5
mpeg_audio debug: emulated startcode (no startcode on following frame)
ts warning: lost synchro
ts debug: skipping 55 bytes of garbage
ts warning: discontinuity received 0x3 instead of 0xb
ts warning: discontinuity received 0xd instead of 0xa
ts warning: lost synchro
ts debug: skipping 55 bytes of garbage
ts warning: discontinuity received 0x3 instead of 0x0
ts warning: lost synchro
ts debug: skipping 55 bytes of garbage
ts warning: discontinuity received 0x8 instead of 0x6
main warning: audio drift is too big (-144190), clearing out
main warning: timing screwed, stopping resampling

found a workaround..

Posted: 29 Mar 2005 20:45
by frases
Guys,
I have found a workaround to the above problem. First, I reset the camera's configuration settings. Next, with the camera off, I reboot my machine. Once the computer comes back up, I start the camera in SD mode. SD (Standard Definition) mode is 16x9, 480P. I open this capture device in VLC to make sure the video plays. When the video plays in SD mode, I can then switch the camera to HD mode, 16x9, 720P. VLC shows the new, more detailed image. I exit capture mode and can stream either the SD or HD content to another computer! At HD, this is pretty impressive imagery and the frames don't skip. Of course, you need a Pentium 3.2Ghz w/a gig of PC3200 RAM.

I'd like to stream at least the lower rez SD content over the net, but I haven't figured that out yet.

thanks for a cool product, guys!
frases

Posted: 29 Mar 2005 21:31
by Sigmund
You've created a very good and detailed report, but you missed one vital thing, namly the vlc version used. There is a known bug with vlc reading compressed contents with the dshow module in vlc 0.8.1, if that's the version you are using your workaround is kind of ammusing. You should try one of the later nightly builds at download.videolan.org/~videolan

duh!

Posted: 01 Apr 2005 06:01
by frases
Thanks Sigmund. Sometimes the most basic things get lost in the detail! I am using intermediate build 0.8.2-svn-20050319.

My current state is that I'm able to successfully stream a live image via SD or HD using UDP and MPEG TS encapsulation. That's cool, but my goal is to get a live image to a publicly available webpage using this cam. Obviously, the bandwidth requirements of an HD image would be prohibitive, but I'd like to at least stream lower rez video. I have tried streaming a live image using MMSH with ASF encapsulation at a lower level of resolution (SD/480P mode), but both Windows Media player and VLC choke on the content. In the case of VLC, VLC on the server side sees a new connection being created, both the client and server sit there saying everything is OK is the message window, but I see no data going across the wire. As to Windows Media Player, who cares! It's Microsoft! It's not designed to work right!

In general, though, it seems that UDP streaming works the best with this camera, but there don't seem many methods of integrating a UDP stream into a web page. I will post questions after further research..unless of course, you happen to know off the top of your head! :)

I will continue to play with this and read more on the site to try to find the best solution.

thanks again,
frases

success!

Posted: 01 Apr 2005 18:07
by frases
After a week of reading and tribulation, I've finally had success streaming a live feed using firewire from my HD10U via MMS! My problem was that I was not transcoding the output of the camera. I got a great deal of help from markfm's post over here:
viewtopic.php?t=8317&highlight=

I didn't understand the muxer (ASF) that I should have used for my output method (MMS). Once I knew that only four video format types (MPEG4, DIVX1/2/3, WMV1/2, MJPEG) worked with the muxer (ASF), I then chose the video format type most compatible (WMV1/2) for my intended audience (general public). I also selected MP3 as my audio format.

Along with markfm's great post from above, I read a LOT of posts and used the following documentation to figure this out:
http://www.videolan.org/streaming/features.html

After I got the basics working within my network and played with bitrates for the most efficient stream over my puny cable connection, I was able to setup a webpage that read in the live MMS stream. I then configured my router to allow traffic to the machine hosting the stream. There's a good deal of detail within those last two steps, but email me if you'd like to know more.

Finally, I'd post a link for you guys to see my stream, but for some reason, the stream crapped out and I am at work and can't fix it. I will let everybody know when it's up. Though, a paltry 400Kbps upload limit from Comcast will prohibit a lot of users from connecting.

thanks for listening,
frases