← DeckPull

DeckPull app icon

DeckPull User Guide

Getting started

DeckPull offloads recorded clips from networked Blackmagic HyperDeck recorders to your Mac, renames them consistently, and verifies every transfer with a checksum. This manual covers version 0.11.1.

Requirements

  • macOS 13 (Ventura) or later, on Apple Silicon or Intel.
  • One or more HyperDeck decks reachable from your Mac on the same Ethernet network and subnet.
  • DeckPull controls the decks over the HyperDeck Ethernet protocol (TCP port 9993) and pulls media over anonymous FTP. It does not use SMB, and it stores no deck passwords.

Install and first launch

DeckPull is not yet notarized by Apple, so macOS will refuse to open the app on a normal double-click. The first time you launch it, right-click (or Control-click) the app in Finder, choose Open, then click Open again in the dialog that appears. You only need to do this once. A future notarized build will not require it.

On first launch you will be asked to accept the End User License Agreement before the main window appears.

Preparing your HyperDecks

Each deck needs a few network settings turned on before DeckPull can see it. On the deck’s front panel or web UI, under Network / Network Access:

  • HyperDeck Ethernet protocol: Enabled — set to plain “Enabled”, not “Enabled with security only”.
  • File transfer protocol (FTP): Enabled — again plain “Enabled”, not the security-only option.
  • Remote (REM): On — the deck must be in Remote for DeckPull (and Bitfocus Companion / Stream Deck) to control it.
  • Timestamp file suffix: On — DeckPull reads each clip’s recording date from the deck’s filename timestamp, so this must be enabled for dates to appear correctly.

Also confirm the deck’s clock is set, since recording dates come from it. Validated hardware: HyperDeck Studio HD Mini on firmware 8.5.2.

Adding decks and offloading

  1. Add a deck. Click + in the left sidebar and enter the deck’s IP address (for example 192.168.10.121). DeckPull connects over TCP 9993 and shows a per-deck status: Connected, Recording in Progress, or Unreachable.
  2. Set a file prefix. In the toolbar, type a 1–12 character code (letters and numbers) in the File Prefix field. This identifies the production and is added to the front of every offloaded file name. An invalid entry is outlined in red. The prefix does not carry over between launches — set it each session on purpose.
  3. Choose a destination. Click Save files to… and pick the folder where clips will land. Files are organized as {destination}/{DeviceName}/{Prefix}/.
  4. Browse clips. Select a deck in the sidebar to list its recordings. Each row previews the final renamed filename, recording date, start timecode, duration, size, and transfer status.
  5. Select and offload. Tick the clips you want and start the transfer. Live progress appears in the right-hand panel.

Set Prefix (pre-flight). Before a shoot, click Set Prefix to push the reel name to every connected deck at once. Each deck then records as {prefix}_{its CAMID}, so new footage is named consistently across the fleet. Decks that are actively recording are skipped.

Pull Latest. Click Pull Latest to grab the newest clip from every deck in one action. DeckPull skips decks that are recording and decks whose newest clip was already pulled, then reports a summary. This requires a valid prefix and a destination.

Ingest rename scheme. Offloaded files are renamed to:

{PREFIX}_{CAMID}_{YYYYMMDD}_{HH-MM-SS-FF}_{NNNN}.ext

for example SVC_CAM1_20260524_10-00-00-00_0001.mp4. The original deck clip name is preserved in the transfer log.

Name collisions. If a target filename already exists at the destination, DeckPull applies your chosen conflict policy: Skip, Overwrite, or Rename (an auto-incremented _v2 suffix). Pull Latest always uses Rename.

Verification and history

Every transfer is verified with a SHA-256 checksum. Because HyperDeck FTP exposes no server-side hash, DeckPull hashes the byte stream as it downloads and re-hashes the file on disk, then compares the two — reporting Pass or Fail per clip. A brief “Verifying…” state appears at the end of each transfer; the cost is negligible.

The History window logs every transfer with source and destination checksums, start and end timestamps, file size, program, and destination path, in a sortable table. History is scoped per destination folder. Click Export CSV… to save the log (with checksums and timestamps) for your records.

Managing media

To delete clips off a deck, switch on Manage Media (the red toggle above the clip list). This is a deliberate, guarded mode: selected clips are permanently deleted from the deck’s media over FTP. Select the clips, click Delete … Selected, and confirm in the dialog that names the deck and clip count. Deletion cannot be undone, and clips not confirmed as transferred are flagged first. Deletion is disabled for a deck that is recording.

You can also Import and Export deck configuration (the decks plus the file prefix) from the sidebar menu or the File menu — useful for moving a setup between machines.

Troubleshooting

macOS says the app can’t be opened. DeckPull is not yet notarized. Right-click the app, choose Open, then Open again to confirm.

A deck won’t connect. On the deck, make sure the Ethernet protocol is enabled and Remote (REM) is on. Confirm the IP matches what you entered and that your Mac is on the same network and subnet. Control uses TCP 9993; media uses anonymous FTP.

No clips appear for a deck. Clips live on the deck’s inserted USB drive. Make sure a drive is mounted and contains recordings. System and junk files (AppleDouble ._*, volume icons, installers) are filtered out automatically.

Transfers fail or stall. DeckPull pulls media over anonymous FTP. Check that nothing (such as a firewall) is blocking FTP to the deck, and that the destination drive has enough free space. Failed transfers remove any partial file and are marked Transfer Failed.

Recording dates are wrong or blank. Dates come from the deck’s filename timestamp, so enable Timestamp file suffix on each deck. The decks have no internet, so their clocks drift — set the deck clock (or NTP) and re-check it periodically. Clips recorded before the suffix was enabled fall back to file modification date and are flagged.

Stream Deck / Companion transport stopped. Transport control and DeckPull both depend on Remote (REM). If a deck is taken out of Remote, both stop responding — switch it back on.

Unsupported model or firmware. DeckPull is validated against the HyperDeck Studio HD Mini on firmware 8.5.2. Other models or firmware may behave differently; if a command is rejected, update the deck or report the model and firmware.

Getting help

Email [email protected]. To help us diagnose quickly, include:

  • Your macOS version.
  • The deck model and firmware (for example HyperDeck Studio HD Mini, firmware 8.5.2).
  • An exported History CSV covering the affected transfers.
  • The exact steps that led to the problem, and any on-screen error text (expand the error’s Details section if shown).