Screenshot is of me tunneling into my headless analog video capture server I put together out of an old Thinkserver and a Magewell 1080p capture card, both of which were ebay gambles.

Here’s the flow:

  • VCR and Hi8 decks -->
  • Kramer VPC-23 AV Switcher -->
  • RetroTINK 4k, upscaled to 1080p HDMI -->
  • Magewell Pro Capture card -->
  • Thinkserver RS140

AntiX headless install on the server. I ssh in to kick off the capture script I wrote, which also publishes a preview video stream to my LAN. I then just kick back and tune in via mpv.

I went as far as setting up an nfs share on the server, so after a capture I can pull it onto my workstation, to trim, edit, etc.

  • Dr. Wesker@lemmy.sdf.orgOP
    link
    fedilink
    English
    arrow-up
    3
    ·
    edit-2
    19 hours ago

    The script is nothing to write home about at the moment, with most of my time being spent just dialing it in for performance given the age of the Thinkserver. I feel that’s pretty squared away, so the next step is updating it to accept args for things like fps, resolution, etc.

    #!/bin/sh
    
    AUDIO_DEV="hw:CARD=HDMI,DEV=0"
    FPS=60
    OUTDIR="/home/wesker/capture"
    PREVIEW_URL="udp://netsphere.lab:5000?pkt_size=1316"
    
    exec ffmpeg -hide_banner \
      -thread_queue_size 2048 -f v4l2 -input_format yuyv422 \
        -video_size 1920x1080 -framerate "$FPS" -i /dev/video0 \
      -thread_queue_size 2048 -f alsa -i "$AUDIO_DEV" \
      -map 0:v -map 1:a \
        -c:v dnxhd -profile:v dnxhr_sq -c:a pcm_s16le \
        "$OUTDIR/$(date +%F-%H%M%S).mov" \
      -map 0:v -map 1:a \
        -c:v libx264 -preset ultrafast -tune zerolatency -g 20 \
        -c:a aac -b:a 128k \
        -f mpegts "$PREVIEW_URL"