5/29/2021

Blackmagic Thunderbolt Shuttle Video Capture on Windows XP

 Finally got a chance to look at a Shuttle on XP, not the same as an Extreme.

VLC seems to sort of work with it.. but with a lot of trouble.

The Decklink device drivers reject a 720x486 or 720x488 resolution and default to something ridiculous like 720x30.

But trying the Blackmagic WDM driver seems to behave ok with 720x480, but doesn't provide an audio stream.. so right now its very confusing.

The Blackmagic Desktop Video and Driver suite on Windows XP is the first version that I know of that included support for both XP and Thunderbolt Shuttle.. so I guess its a bit early and unstable.

Noel AMCap seems to work just fine with it, and Blackmagic Media Express, and GraphEdit seems to work with it.

5/28/2021

Blackmagic Thunderbolt Extreme Video Capture on Windows XP

It would appear the Media Express capture program is not DirectShow based. 

This would make sense as Blackmagic makes a version for other platforms. It appears to use the QT user interface library which is also cross platform.

A best guess would be like VLC, they use a libavcodec or a wrapper like ff to use libavcodec.. but I'm betting they had to keep it simple. There is an LGPG notice included with the program that might refer to the QT libraries used.. or deeper in the code. I did not see a separate libavcodec dll included with the program, so if it is used.. its function are integrated with Media Express binary as a static compile. It is a medium sized executable. dedicated to one purpose.

The weak link in all of my captures has been Uncompressed at 8 and 10 bit resolution direct to hard disk.

Media Express does a good job of capture and maintains sync as far as I have tested.. but my hard drive speed is borderline and would probably not keep up long term.

VLC so far has not been able to keep up and appears to loose sync between the audio and video tracks when captured with the default Raw Record button. Adding a Transcoder to capture as MPEG2 or H.264 would seem to be a loosing proposition.. but might work, if the CPU is not overloaded and can reduce the stream speed such that the hard disk can keep up. Huffyuv is also possible with VLC and might make a reasonable compromise. -- noted that VLC is also capable of decoding and playing back Huffyuv on the fly! Which is quite impressive.

The Blackmagic Intensity Extreme is about ten years old, and in those days the limitations were as now the hard disk speed, in fact they include tools to test the speed.. and recommendations of always using a RAID0 situation to stripe the speed load across multiple disks. Today SSD might be able to keep up, but the individual SATA drive connections may still be too slow.

Noel's AMCap for Windows XP is no longer sold.. however due to his kind response to a plea for help, he did sell me a copy.. and that does appear to work excellently with the Blackmagic Intensity Extreme on the Windows XP laptop across the Thunderbolt connection.

Noel's AMCap for Windows now focuses on 64 bit versions of Windows and more modern versions of the Windows Kernels.. and had to leave Windows XP compatibility behind with the Version 9 of AMCap.

VirtualDub 1.9.11 does a respectable job of capture, but I am concerned compared to Media Express, or even VLC.. its a rather Large and Excessive program just for capture.. it has measures to try and help with hard disk speed like preallocation and buffers.. and logic for dealing with hard disk overruns.. but they are kind of overwhelming to master right away. But it does a good job from what I can see.


5/27/2021

The Internals of VLC and How it works

VLC or VideoLAN client, retconned to just VLC.

It is (or was) planned as a media player in a suite of tools for sharing audio video media files from a Satellite downlink on a University campus in France.

It was a student led effort that evolved and led to it being open sourced in the year 2000.

Because not all students used a Mac or a PC or Linux desktop they chose to design it such that it was portable across all those platforms. It has since been ported to iOS and Android as well.

Basically the terminology changes depending on which era of programming, or desktop PC platorm your currently on but its a collection of 'mini" programs called "Modules" linked together in a chain by a "Core" interface being used.

Its mostly a "loader" with a user interface stuck on the front.

The Interface can be a command line string of commands like in a command processor script, or it can be a GUI user interface for a windowing system like wxWidgets, or Qt or Cocoa.

In the background however, once its started, its just making calls to load and start up "modules" and pass them commands parsed from the user instructions to configure them.

Its very similar to the way a GraphEdit Graph works in DirectShow to load "filters" but it does not use "filters" to achieve its goals. People often assume it should expose a filter graph using the graph builder interface on Windows.. but it does not. Instead all of its functions are handled by a series of monolithic "modules" which accept commands from their own type of user interfaces.

So basically VLC was not designed "only for Windows" and does not adopt the DirectShow method of creating filter graphs for performing its functions.

At its center VLC is a ("muxer") which means it takes audio and video streams in, performs some things on them and blends them together and then shoves them out in a new format. While its doing that it can also split off a duplicate stream and "Display" what is currently going through the stream.

Initially it was intended to accept UDP and TCP streams, later reading a DVD device or .ISO file were added, then taking in the Output from a Capture device or a TV Tuner.. these were all added one at a time.. to bring it where it is today.

Just like splitting off the Display duplicate stream, the Record button on the advanced User interface can direct a duplicate stream of the Input data straight to a file, which is automatically named and stored in a pre-configured directory for videos. No processing is performed on a Stream "Capture" as a Record file.. which is rather the exception than the rule with VLC.. and a default Capture/Record processing cannot be configured from the GUI interface.

Separate from a ["Capture/Record"] is a ["Capture/Convert" or "Save"].

Using the "Convert"  button instead of "Play" (which "Play" starts a stream already configured and stored in the Playlist, or completes the process of adding a stream to the stream list and then starts playing it) spawns a Wizard for configuring an Input and selecting a predefined "Profile" which will perform processing on a twin set of audio and video streams to mux them before sending them to a final directory and file destination.

Profiles are preconfigured as VLC default installed, but new ones can easily be created.

The same Convert "Wizard" can be used to complete a File, DVD, Network or Capture Card stream along with its mux processing profile.

The "Stream" button is basically the same thing but tailored more towards "re-streaming" as fast as possible .. possibly without "muxing"

The GUI user interface layers a conceptual way of looking at the the command line way of building up a 'filter graph' in DirectShow terminology even though.. it is not a DirectShow filter graph.. its basically the same thing. "Conceptually"

The VLC command line invocation does not replicate the GUI user interface, the GUI is task based oriented. Where the command line better represents the actual process of building up a single minded, single task process of configuring a input source, configuring the modules that will operate on those source with "VLC filters" and then multiplexing them into a single stream and delivering them to a file or other destination.

Because of the way VLC is built, and its core is libavc.. its sometimes desired to "use" VLC as a DirectShow "filter" itself.

Doing this is possible.

Sensorray opensourced a VideoLAN client bridge

The DirectShow filter appears as a Sink and is preconfigured to save a stream as a processed mux file, currently only as an MPEG1 or MPEG2 file.



5/25/2021

Using VLC to Capture from Blackmagic Intensity Extreme on Windows XP

This took a while.

And I'm still not sure I totally understand it.

But to get a "Perfect" capture and Preview on Windows XP SP3 with Thunderbolt and a Blackmagic Intensity Extreme.

Here are the manual steps:

1. Open VLC

2. Go Tools > Preferences > Video 

3. Use the drop down for "Display ----- Output ----> [Windows GDI video output]"

The default "automatic" will produce a blocky chunky slow video window with multiple artifacts all over the place, so be sure to manually set the "Display Output method to Windows GDI video output"

4. Save

5. Media > Open Capture Device...

6. Video device name: Decklink Video Capture

7. Audio device name: Decklink Audio Capture

8. Video size: 720x486

9. Advanced options: check, Device properties

A. OK

B. Play

C. First "popup" Properties > Video Format

D. Use the drop down for Video Format: (Scroll Up to pick the First: NTSC - 8 bit 4:2:2 YUV)

The default identical looking (NTSC - 8 bit 4:2:2 YUV) is an accidental abbreviation for NTSC "Progressive" which appears to be improperly rendered on Windows XP at the moment. The "Top" position in the list is actually the same "Interlaced" which takes less time for VLC to process and display.

VLC has its own internal software De-Interlacing options which appear to work without the long delay or lag of the Intensity Extreme "profile".. so I am uncertain what is going on.

Also the Blackmagic Control Panel applet is responsible for actually setting up the Intensity Extreme for input.. so it could be the pop up panel is confusing the DirectShow pin that feeds VLC and it may be mininterpreting the input as Progressive when it actually is not.. I do not know for sure.

For now.. just do it.

E. Apply: OK

F. Second "popup" Properties > Audio Format

G. OK

It takes about 1 or 2 seconds for the window to launch, audio and video are "rock solid" and in-sync.

All  of this was figured out by trial and error.

Windows XP SP3

Blackmagic Intensity Extreme

HP Thunderbolt laptop

VLC Player 2.2.6 Umbrella

Pressing the [o] red dot "Record" button saves the currently viewing Preview as a Lossless .AVI file to:

C:\Documents and Settings\{my-username}\My Documents\My Videos

The videos are lossless, but the audio, video playback are very far out of sync.. and the file information reports a frame rate of 21.xx below 29.97

So I don't know if its a difference in format interpretation or dropped frames or samples.. or something else I do not understand.

Blackmagic went to a lot of trouble to not playback audio while capturing in Media Express and calls the process out as harmful to maintaining sync while capturing. VLC plays back audio while its capturing.. perhaps introducing a delay in the audio stream when writing to disk.

I am not entirely sure how to disable audio playback in VLC while capturing both audio and video. It could be a challenge.

VLC Preview however the audio and video are in lock step.



5/24/2021

Enabling Blackmagic Intensity Extreme Input Monitoring on Preview on XP

On XP various sound chips may or may not have internal loopback circuitry to support monitoring the Mic Input.

This is important to understand because the Blackmagic Intensity Extreme device drivers do not appear to have an internal loopback for monitoring the Audio Inputs during capture and appear to pass-thru the audio and video to either the HDMI or the S-Video or Component Outputs.

For HDMI output the audio is embedded in the single connector.

For S-Video or Component outputs the audio is duplicated on the RCA output jacks.

I didn't run down the specific example with the chipset on my laptop, but more generally plugged in an M-Audio Sonic Theater sound card to the USB port and connected the RCA output jacks of the Intensity Extreme to the "Line Input" of the Sonic box and the Sonic box speaker outputs to a set of external speakers.

Routing the output through the Speakers was relatively easy and not much had to be setup, except the M-Audio control panel applet had to be used to "Enable Monitoring".

This sounds annoying.. but because Input Monitoring was not a "class supported" featured during the XP era, there was no "one way" of doing it for all chips. In Vista and 7 and beyond it was adopted as a class function and could be automated by visting the Input device "Listen" page to switch Input monitoring on.

Using an external "loopback" by using an external USB sound card.. was just a simpler.. more consistent work around that should work on all brands and model of PC.. since the M-Audio USB sound card has a "Monitoring" check box exposed in its Control panel.. and its portable.

Blackmagic Media Express "might" have a "monitoring" registry key.. but I haven't found it.. and judging from the old Blackmagic forums.. it probably doesn't exist.

5/23/2021

422 Capture Blackmagic Intensity Extreme on XP using Thunderbolt

Not the easiest chain to put together.

But yes. There is a laptop brand and model with a Thunderbolt port, that fully supports Windows XP 32 bit.

And a BlackMagic Designs Intensity Extreme (Thunderbolt) with a version of Desktop Video and Media Express which works on Windows XP and installs a 32 bit device driver in XP for Audio and Video capture on Windows XP.

This kind of gives me "ideas" about how to create an Auxilary "Crossbar Control" that is independent of the DirecShow device drivers.. but can also help toggle bits that the normal DirectShow Control Panels do not. Pinnacle "Marvin" device usb-500, usb-700, usb-510, usb-710 come  to mind.

The old ATI TV Wonder 2.0N also is a possibility. USBSnoopy and USBRobot can bring over the 32 bit device driver to the 64 bit space, but then the DirectShow model doesn't fit. I'm not sure of the entire path.. but it gives me ideas.

In any event, the Intensity Extreme (Thunderbolt) under XP works.

However.. like all other platforms, to get it working you must first visit the Control Panel and use the BlackMagic Control Applet to manually set the Input and Signal format. (Not through the DirectShow device driver control panels.. they do not work!)

Windows Movie Maker 2.1 does not seem to have a problem using the Intensity Extreme after its setup. But there is some Audio device strangeness. It can record Video, it can't record Audio and it can't make clips after the capture. - So effectively only  BM Media Express can create .avi capture files with both audio and video captures.. which is very good.

 I only tested Component and S-Video inputs, and with a good signal, they are on par with one another. Crisp solid and invariant. 

I also tested with VirtualDub 1.9.11 - 32 bit, it works flawlessly. Captures audio and video.




5/08/2021

Pinnacle "Marvin" video capture using the DV port on Win 7 x64

Until recently I didn't think the Pinnacle Sys device driver for the Pinnacle USB-500, USB-700, USB-510 and USB-710 would support the Firewire (IEEE 1394) port on each of these devices under a 64 bit operating system like Windows 7.

It turns out they do, but the Device Driver Installer does not properly install a separate [System class] device driver at the same time as the Sound, Audio, Video capture device driver.

Since the installer on Windows 7 64 bit is effectively ('broken') it took some time to figure this out.

It does not appear to be a full featured "Firewire" port, and does not appear as a IEEE 1394 port under the Device Manager tree. It does not support mass storage devices for exampled, like a firewire external hard drive.

Rather what appears to happen is, if a self-powered DV video capture device is connected to the DV port, after a long silent, no-feedback pause. Windows Device Manager will add a new [Image class] AV/C Tape device which represents the video capture device, and will proceed with autorun to auto-start the Windows Movie Maker and suggest capturing video from the device.

This is surprising and very convenient.

Even though it is not a full fledged universal Firewire port, it provides the Video capture feature for a video capture device which is often one of the easiest methods of importing DV camcorder, or VHS or other types of video capture footage into a PC.

Further the Pinnacle software is rather long in the tooth and doesn't often work well with Raw YUV 422 video capture from the USB device itself at full bandwidth. The device drivers sometimes work if the specifications of the capture PC are high enough and the stability of the operating system is good enough. 

But then the audio capture device driver for Raw YUV 422 often shuts itself off or disables it so that if invoked by any other third party software, remains silent. This can be worked around and turned on, but must be turned on after the device driver is loaded each and every time.. since it will disable itself each time the device driver is unloaded or the PC is reboot.

The DV port has none of these problems, nor any problems with audio/video sync drift. And since the bandwidth of a hardware compressed stream is significantly less than a Raw YUV 422 stream a low specification PC often suffices.

This is very different from a "powered" DV port, like the 7 watts of power a Thunderbolt 1.0 port connected to an Apple Thunderbolt to Firewire adapter can provide. In this case the video capture device has to provide its own power source.. often an optional power port on the firewire device which the manufacture saved money by not providing an "optional" external power adapter.. but they can be obtained.

One of the Huge advantages however is that many laptops no longer have Firewire/DV port and one cannot be obtained, especially with Airbooks, or travel laptops. This only requires a USB 2.0 port, and can be adapted down to a USB-C port if needed to allow those devices to become super simple and easy video capture devices with no audio/video sync drift.

These devices are no longer made or sold, but they are really nice to have around.

A more comprehensive method of installing the secondary [System class] Pinnacle Marvin 64 device driver needs to be documented.. but one tip appears to be that Win7x64SP1 base installation without any flight time, and no Updates applied .. simply seem to work, they install the [System class] Pinnacle Marvin 64 bit device driver. -- I suspect its either the 'flight time' on a laptop or desktop or one of the later device driver updates that ultimately foobar's the device driver installation process.

This has been tested on both Windows desktops and laptops for Windows 7x32SP1 and Win7x64SP1 but has not been tested with Win8/8.1 or any variant of the Windows 10 versions.

Video capture with I-O DATA GV-MDVD2 and GV-MDVD3 on Win7 x64

 The

I-O DATA GV-MDVD

Is a product line of video capture boxes from Japan , they aren't often seen outside of Japan because they use the NTSC-J variant of the NTSC color signaling standard which has a wider sampling range than in North America with the Pedestal Set-up. 

They are "capture" boxes, and so are not detected as Broadcast Tuner capable devices and Windows does not support their use with the Windows Media Center products.

They produce a rather unique MPEG-2 stream which contains both audio and video in their output pin, which can be directed to a file, or decoded and displayed within programs that understand the MPEG-2 stream. VLC is the most often used. VLC is also capable of saving the output to files in various formats.


The GV-MDVD2 has no 64 bit windows device driver, however it does work with the later GV-MDVD3 64 bit device driver. In fact it is detected as a GV-MDVD3 device. The hardware MPEG-2 encoder chip is the CX2316-12 and the video decoder chip used to process incoming video signals is reported to be the PHILIPS SAA7115HL. It is my guess the difference between the GV-MDVD2 and 3 is only with the driver disc provided and the Windows versions marketed towards. They appear to be the same hardware with different labeling.

One difficulty is routine access to the hardware switch within the device called a video switching Crossbar. This can be accessed either using the 32 bit version of GraphEdit with a GRAPH.GRF file. Or with the widely available "Crossbar Thingy" application. Either of these will load the Windows DirectShow component installed along with the device driver which allows a dialog window that allows selecting the Input source, to switch from Composite to S-Video.

Fair warning, the GRAPH.GRF file must be "opened" or "dropped" on an x86 (32 bit version) of GraphEdit or it will fail to open. Some components are not compatible with the 64 bit only version of the GraphEdit program, but work just fine with the 32 bit version of GraphEdit running on Windows 7 x64 bit natively.. and "not" in Windows XP mode.

I have not tested, but its suspected versions of MyDVD, Intervideo WinDVR and ULEAD capture products will "probably" work, since those cater more towards the MPEG-2 streams.

Windows Movie Maker, being for Raw YUV 422 or UVC products does not work with the GV-MDVD products.

The GV-MDVD (1) product is not like the GV-MDVD2 or GB-MDVD3 products, being from an earlier time it is based on the popular WisGO007 pre-compression hardware chip.. which produced a YUV output or a soft compression GO stream which could be software compression "finished" into MPEG1/2/4 versions. This sounds more versatile, but it is not by today's conventions.. because it relies on many software libraries that are only available on the Windows XP platform and were not brought forward. The Monsoon Snappysoft software from Luminate is known to work with it on the Windows XP 32 bit platform only.

I-O Data seems to have had a very long import line into the Japanese market with the GV-MDVD product line which seems to have favored importing the YUAN video capture products.. but details are scarce.

5/01/2021

Using VirtualDub 1.9.11 to capture Video from ADVC-55 on WinXP

VirtualDub is a pretty old, familiar program to most people.

It starts in Edit mode, but you can go into Capture AVI mode from the File menu.

However with the ADVC-55 the initial window is Blank or Black with no sound.

To begin preview, the AVC Tape controls must be used to "Start" the Preview.

This is rather un-intuitive.

Normally you:

1. Go to Device  "to select" > Microsoft DV Camera and VCR (DirectShow)

2. Go to Video "to select"  > Video source (not necessary with ADVC as it auto selects Input)

3. Go to Audio "to select" >  Enable audio playback

 

But the display will remain Blank / Black

 

For a Firewire or ADVC device you also need to:

4. Go to Video " to select" > Capture filter ...


A Dialog called "Digital VCR Control" appears, simply Press the green Play button [ > ] and then Press [OK] to close the dialog and return to the running Preview.

This is rather different from other programs like Windows Movie Maker, in that in those you have to configure the program to allow "Manual" rather than "Automatic" capture control. -- In fact its the opposite procedure conceptually.

It makes apparent that most capture programs will attempt to "Start" the stream by itself automatically when the program starts, rather than waiting for the User to queue up video manually on a playback device, or to start the stream. This can be a problem for things like DV codecs since they cannot start until a video signal is actually coming into them.. they will produce an error code. With a real DV camcorder or video camera capable of reacting to the Start command, the video signal starts playing before the codec is engaged and there is no error.. but not so for a standalone DV codec which expects a video signal to be present and will fail and shutdown if one is not present before starting the encoder.

Its just not a step that most people consider, they assume "something" will send a blank signal which the encoder can use to start producing blank frames before the video signal is actually queued up.. but such a device is generally very expensive in the video world and is called a "frame synchronizer" and would have driven the cost of a device from those years up.

Instead, the user starts the Video to generate frames which the encoder then starts to process to produce a stream, and then the VirtualDub program assumes the encoder is sending frames that it can preview.

For raw video capture its similar, but frames are always there from the moment video is presented.

Its the option to "automatically" command the DV camcorder that makes all of this "different" from a stream that is always running. The pros and cons of having complete control.


How to block Phantom Floppy device / drivers from setup and loading in Windows XP

On a recent new laptop setup that had no Floppy drive. 

I kept getting a Phantom Floppy Drive in the Device Manager.

It would load the fdc floppy drive controller service and the floppy device driver and fail to start, producing the familiar Error 10 "fail to start" and a Yellow cone Warning sign opened in the Device Manager tree.

This was annoying, while from Vista forward you could use a Group Policy Object security policy to "Block" loading device drivers for specific Hardware IDs. You can't do that on Windows XP. And if your using Home Editions you often don't have Group Policy Objects or a GP Editor.

I found you could "Fix" this by first uninstalling the Phantom drive from Device Manager then going to C:\Windows\Inf and temporarily removing the fdc and floppy (.inf) files from that directory (both the .inf and precompiled .pnf versions) (say move them to the Desktop) then perform a Manual Scan for Hardware Changes in Device Manager.

It will fail to find the fdc and floppy device drivers, and setup failed "stubs" in the Device Tree.

Manually selecting and installed the "Modem/Unknown Modem" device driver for the Phantom will not set up a "service" and will collapse the Device Manager tree as "satisfied" Permanently... with no Yellow Cone Warnings.

It is a "trade" from a Phantom Floppy Drive to a Phantom Unknown Modem device, but much less alarming.. and typically the Unknown Modem is used as a proxy for the example of a "Null Device Driver" that doesn't install or register any start up service for a device in literature.. so its kind of a "lazy mans" way of writing a Null device driver for a Hardware ID that is either wrong or fake.. that you would rather did not produce a false positive error in the logs or on the Device Manager dashboard.

 After doing this replacing the  fdc and floppy .inf /.pnf files into C:\Windows\inf does not return to trying to dislodge the manual assertion between the device and the Unknown Modem "device driver". Future reboots and manual hardware scans continue to report the device is installed and associated with the Unknown Modem "device driver" and do nothing annoying. This is good in case you do install a really floppy device via USB or some other port means.


Using Firewire and Thunderbolt 1.0 with Windows XP Professional

So.. the other shoe drops.

Windows XP works perfectly fine with a laptop that has a Thunderbolt 1.0 port (the mini-display port kind).

And at least when the HP Thunderbolt Firmware modification too is used to disable the "Only Certified for Windows" Thunderbolt port block. 

Windows XP works fine with the Apple Thunderbolt to Firewire adapter.

I am not talking about using Apple hardware with Bootcamp. I am talking about using HP hardware running Windows XP Professional (and its probably not specific to "Professional").

The one thing different between Windows 7 x86 32 bit edition and Windows XP x86 32 bit edition when setting up a Thunderbolt connection is that after its hot plugged into the Windows XP system, it requires a reboot to start the service setup for the PCI bridge that is detected, until then it will have a Yellow Warning cone in Device Manager for it.. after it reboots it will finish enumerating and finding the OHCI port on the other side of the adapter.. this kind of makes perfect sense for the way that Windows XP does things.

On the laptop I have the ACPI HAL works for Windows 7 x86 32 bit, but does not for Windows XP x86 32 bit.. I had to use nLite to shoehorn the AHCI device drivers into the installer, make a .iso image.. and used an IODD external CD/DVD drive emulator to boot from the .iso image to start the installation.

When it got to the F6 additional device driver step, I used the undocumented F5 to select the specific HAL. This had the side effect that ACPI can never be used to finish shutdown in Windows XP.. and I did try all the other HALs.. but only Standard PC (legacy support) worked on this particular laptop. 

Until I selected a specific HAL it would always shutoff after the F6 step and not complete XP installation.

Once I bypassed the autodetect of the HAL and continued the installation process.

I connected a Canopus ADVC-55 to the Apple Firewire adapter and it was dutifully setup and the Autoruns service of Win XP offered to start Windows Movie Maker to capture video.. which worked as expected.

In any event, the Movie Maker captured video also captured sound and imported it into the Movie Maker application for editing.

This particular example of using Thunderbolt 1.0 with XP on an HP laptop is rather unique in that at the time the laptop would have been over $1500 in 2012 dollars, so not many people may have tried it.

What stands out as very interesting is that while Thunderbolt has a firmware layer, it is independent of the general operating system. Once configured with tools for other operating systems it can be used with any operating system. To all operating systems it just appears as a hot plug PCI bridge device, any scanning of the other side of the bridge is at the discretion of the operating system once the port is in use.