Skip to content
Get a quote
🇺🇸 English

Video · Practical guide

TouchDesigner Video Device In TOP: capture synchronization and troubleshooting

If equipment locks to reference but filmed content remains out of time, examine capture, processing and output separately. Video Device In TOP controls the input; its states alone do not verify GPU output or the LED display. Check the installed build, driver and capture device before applying settings from the Latest documentation.

Identify the capture device and the scope of each control

Start by identifying the capture device and the failing path: source, selected input, node and physical destination. Save the project and initial settings before comparing modes.

Record the manufacturer and full model of every capture device, driver, operating system and TouchDesigner build. A name such as “DeckLink 4K” is insufficient to select a manual or confirm features. If the path includes a generator, synchronized GPU, LED processor or camera, also record their models, firmware and connections. Identify where reference enters each device.

The official Video Device In TOP documentation distinguishes capture controls by library and device. Use the Latest reference listed under Sources, then compare its options with the installed build. Do not assume that 2025.30000 displays every control in the same way.

Before testing, check the capture-device documentation for supported modes with that driver. The operator’s manufacturer list helps select a library; it does not confirm every model combination.

Transfer Mode: wait for an incoming frame with the AJA mode

Derivative limits this mode to AJA: the process waits for a frame to arrive at that input and then uses it to cook the node. The documentation warns that performance may suffer.

For this mode, the manufacturer says to turn off Real-time in the top interface and use only one node in this mode per process. Keep both conditions with the control name. They are not general instructions for every capture device or for Sync Inputs.

If the option is missing, record the build, Driver, Device and exact model before looking in another menu. A Blackmagic card capturing an image does not thereby gain this AJA mode.

For a proposed test, first save the file and initial settings. If the documentation for the actual device supports the mode, compare process behavior and counters with the agreed configuration outside the live show. Record the physical output and camera result separately; this guide does not promise zero end-to-end latency.

Transfer Mode: wait for an incoming frame with the AJA mode
What to checkDocumented controlWhat still needs to be confirmed
Process waits for a capture frameTransfer Mode: On-Demand, Sync to Frame Input; AJA. Real-time off and one node per process.Actual build, driver and card; performance and final output.
Grouped capturesSync Inputs and Sync Group Index; genlocked sources.Input compatibility, states and counters for each group.
Frames sent from the GPU to the LED displayCannot be verified with a Video Device In TOP setting.Output documentation, GPU, synchronizer, LED processor and camera.

Sync Inputs: capture groups and timeout behavior

The same page’s Sync Inputs sectiondescribes synchronization of multiple Video Device In TOPs within a system. Sources must be genlocked. The documentation reviewed lists Blackmagic, DataPath, Deltacast and BlueFish for this feature; do not confuse it with the AJA restriction on ondemandsync.

Sync Group Index separates groups within the .toe file. Max Sync Offset (ms) sets the allowed difference in arrival times for images to count as the same frame. Sync Timeout (ms) sets how long the group waits.

Derivative says that, if the timeout expires while waiting for the group’s frames, all its nodes retain their current image even if some inputs have received new images. If an image freezes when captures are grouped, record which inputs deliver signal and whether sync_timeouts increases. This helps plan the next comparison; it does not yet identify a faulty cable or card.

We suggest starting with one input and adding the others one at a time, preserving the signal and configuration at each step. Note which group and change coincide with the freeze. Check the source and capture-device manuals for reference and format; grouping nodes does not replace those checks.

Info CHOP: read connections, rates and counters before diagnosing a fault

In Specific Video Device In TOP Info Channels, Derivative describes the associated Info CHOP channels. connected is 1 when the node connects to the device; that alone does not confirm a valid input. Compare it with the image and any signal data reported by the hardware and driver.

signal_fps reports the signal-format rate and is 0 when it is unknown. capture_fps counts frames captured in the last second; do not use it in place of the selected format. Also save Signal Format: according to the parameter documentation, interlaced rates are expressed in fields per second.

Take one reading at the start and another at the end of a recorded interval, using the same content and configuration. Save both before using Reset Stats, which resets statistics for the associated Info CHOP. Compare the change in each counter over that interval.

Counters describe different stages. If one rises, preserve the rates and project load before deciding what to change. A repeated frame may be expected when the application displays more frames per second than it receives.

Info CHOP: read connections, rates and counters before diagnosing a fault
ChannelManufacturer’s descriptionWhat to record during the test
connected / signal_fpsDevice connection; signal rate, or 0 if unknown.Image, format and available driver data.
frames_repeatedThe node displayed a frame again; this can be expected, for example with 30 Hz capture and a 60 fps application.Input and process rates; increase during the interval.
frames_droppedFrames captured by the card but not consumed by TouchDesigner’s read thread.Increase and capture configuration.
frames_skippedFrames consumed by the read thread but not used by the node.Increase and project performance.
sync_timeouts / last_sync_waitGroup timeouts and time spent waiting for valid synchronized frames.Group inputs, configured times and interval.

Record the test and check the physical destination

Complete the blank TouchDesigner capture and synchronization worksheet. Record the input, process and each destination: an observation in the operator does not prove what appeared on the venue display or in the camera recording.

For the image receiver, use the VENICE guide; its controls retain their model and version limits. The GEN10 guide helps record the reference, while the guide to conferences with LED, recording and streaming separates destinations when planning video processing and distribution.

To check the full path, connect the capture readings with a recognizable image or clip at each destination. The GPU output, Video Device Out and Sync II guide separates output controls; do not transfer a result from another program to TouchDesigner.

Capture goes black when switching laptops: record the format before restarting it

If the image disappears when switching between laptops, first test each source connected steadily to the same capture input. Record the capture-device model, driver, TouchDesigner build and full format of each source.

Before changing Active, save Driver, Device, Signal Format, image, error and Info CHOP readings. Record the format reported by the source or device in each switch position. “1080p” omits the exact rate and pixel format, which may differ between laptops.

Derivative, Video In > Signal Format, defines resolution, rate and progressive or interlaced scan; interlaced rates are expressed in fields per second. In Specific Info Channels, rgb_input is 1 for RGB, 0 for YUV/YCbCr and -1 when unknown or unsupported by the library. connection_changes is also unsupported on some devices. Record unavailable data instead of treating it as a cause.

We suggest testing each fixed source first, then switching. If both capture separately but the image disappears on the switch, record the transition before reactivating capture. If either source also fails when fixed, examine that path first. None of these results alone identifies an EDID, HDCP, cable or driver fault.

Use the blank source-switch and capture worksheetand the DeckLink status guide to separate video input from reference. Test outside the live show and finish by checking capture and every destination.

Capture goes black when switching laptops: record the format before restarting it
Proposed testData to preserveNext step
Source A, steadyReported format, Signal Format, image and counters.If it already fails, check this path before switching.
Source B, steadyThe same data and the same capture input.Compare rate, scan and available pixel data.
A → B and B → AState immediately before and after, error and observed duration.Save the failure before changing Active or configuration.
RecoveryAction taken, subsequent format and recorded duration.Check content and continuity; restoring the image does not explain the cause.

DeckLink format changes: detection and restart belong to the application

The March 2026 SDK, section 2.4.6, page 25, describes automatic detection for certain devices. The application checks BMDDeckLinkSupportsInputFormatDetection, installs IDeckLinkInputCallback and enables input with bmdVideoInputEnableFormatDetection. The section 2.5.10.2, page 82 requires checking support for the particular device and driver.

VideoInputFormatChanged reports a detected change; it does not mean the application has already reconfigured capture. If the mode or pixel format changes, the SDK proposes PauseStreams → EnableVideoInput with the detected mode and pixel format → FlushStreams → StartStreams. This sequence is for an SDK integrator; it is not a TouchDesigner menu or an instruction to run inside a project.

For support, request detected mode, enabled mode, pixel format, return code and capture state on both sides of the change. The actual build and library remain to be checked.

If you need the capture device to receive an agreed format even when the source changes, prepare a test with the MD-HX scaler. Check input, output and routing for the exact model; it does not replace capture diagnosis or confirm a seamless transition.

Frequently asked questions

Where is Sync to Frame Input if it is not a separate parameter?

Find On-Demand, Sync to Frame Input (ondemandsync) under Video In > Transfer Mode. Derivative limits it to AJA. If it is absent, record the build, Driver, Device and card model, then check their documentation before changing another control.

Does Sync Inputs do the same thing as On-Demand, Sync to Frame Input?

They have different scopes. The AJA mode makes the process wait for a frame from that capture. Sync Inputs groups multiple input nodes and requires genlocked sources; the documentation reviewed lists Blackmagic, DataPath, Deltacast and BlueFish for that feature. Neither description confirms the physical GPU output to the LED display.

When does Derivative say to turn off Real-time and use only one node?

For On-Demand, Sync to Frame Input, the documentation says to turn off Real-time and use only one node in that mode per process. It also warns that performance may suffer. Do not extend this instruction to every capture mode; check the actual device and save initial settings before an off-show comparison.

Why can images freeze when inputs are grouped?

When Sync Timeout expires without the required group frames, all its nodes retain the current image. Save Sync Group Index, Max Sync Offset, Sync Timeout and the increase in sync_timeouts. Test one input and add the others one at a time; note which coincides with the freeze and check its signal and reference before increasing timeouts.

Does an increase in frames_repeated prove a capture fault?

Compare rates first. Derivative notes that expected repetitions also increase this counter, as with 30 Hz capture and a 60 fps process. Counters alone do not identify a fault. Record the interval and distinguish frames_dropped—frames not consumed by the read thread—from frames_skipped—frames read by the thread but not used by the node.

Does connected = 1 confirm valid video into TouchDesigner?

It confirms the node is connected to the device, according to Info CHOP; it does not necessarily confirm a valid signal. Record the observed image, Signal Format, signal_fps and capture_fps. signal_fps = 0 means an unknown rate, and capture_fps counts frames in the last second. Check the actual input and hardware rather than inferring the format from these values alone.

Will increasing Sync Timeout or Max Sync Offset fix any unsynchronized input?

These controls set how long the group waits and which arrival-time difference it accepts. The documentation requires genlocked sources; changing times does not replace that requirement or verify an LED output. Save values and counters, check the inputs and compare one variable outside the live show.

What should I save before using Reset Stats in Video Device In TOP?

Record the settings, interval duration and Info CHOP readings. Reset Stats clears the associated statistics; preserving readings first lets you compare changes without losing the earlier interval. Afterward, take a new reading over the same interval and note data the driver does not report.

Why might capture go black when switching laptops if both sources say 1080p?

Also record exact rate, scan type and available pixel data. Test each steady source, then the switch, preserving Signal Format, image, error and Info CHOP. If both work steadily but switching fails, capture that moment before restarting. You still need to identify which stage loses the signal or fails to adapt.

When should I test Active in TouchDesigner’s Video Device In?

Active controls capture according to Derivative. If you compare it, do so outside the live show and preserve before-and-after states with the card, build and input format.

Does VideoInputFormatChanged confirm the application is capturing the new format?

The callback reports the detected change. The SDK separately describes restarting with PauseStreams, EnableVideoInput using the detected mode and pixel format, FlushStreams and StartStreams. Check support for the device and driver, and record detected mode, enabled mode and return code. This sequence belongs to application integration; it is not an instruction to run in a TouchDesigner node.

Does rgb_input = -1 or missing connection_changes data prove a card fault?

Derivative defines -1 for rgb_input as unknown or unsupported by the library, and warns that connection_changes is unavailable on some devices. Record that limit with the image and format. Missing data neither identifies a fault nor confirms a successful switch.

Sources and manuals

Measurement is off · change preference

You can choose whether Google Analytics and Google Ads measure visits and actions on this page. Service information and inquiry links work with either choice.

You have not chosen yet: the measurement tag will not load on this page until you accept.

Read the privacy policy

Phone+1 (786) 488-3435
Ask about event lightingInstagram Facebook YouTube