H.A.C.K. Audio/Video Operator CrewImage


  • Canon EOS 700D
    • 1080i 29.97 FPS over mini-HDMI
    • two batteries
  • Canon camcorder
    • NTSC SD (720x480 interlaced 29.97 FPS)
    • records to miniDV tapes (60 minutes in SP, 90 minutes in LP mode)
    • IEEE-1394/FireWire connection to PC
    • battery broken, but works with power supply
    • 16-bit 32 kHz ("12-bit") and 48kHz ("16-bit") stereo PCM audio recording
      • built-in stereo microphone (records quite a lot of noise)
      • allows for external audio input via stereo 3.5 mm TRS
  • Screen capture toolchain
    • VGA to HDMI converter for those poor souls stuck in the past
    • Zidoo X9 for HDMI normalization
    • HDMI splitter for feeding the same signal to a beamer/screen and DeckLink at the same time
    • HDMI cables for connecting all this mess
  • Mono lavalier microphone
    • requires button cell battery
    • has 5 meters of cable with a 3.5 mm TS plug
  • 3 microphones with balanced output
  • various cables (XLR, RCA, 6.3 mm TS, 3.5 mm TRS)
  • Velbon tripod
  • Alto S-8 mixing console
    • 8 input channels
      • 5 balanced mono + 1 unbalanced stereo or
      • 4 balanced mono + 2 unbalanced stereo
    • 2 main output channels + tape output + monitor/headphone
  • PC with IEEE-1394/FireWire and Debian with dvgrab installed
  • PC with 2 Blackmagic Design DeckLink Mini Recorder cards and Ubuntu with FFmpeg installed
  • Big speaker box
  • Power amplifier




Related: netferiX


EventTalkAssigned toStatusNotes
CryptoniteIRMAKristófdumped DV files are on Kristóf's notebookslides should be merged 100%
Camp++Contemporary Webserver Configuration - A Serving Suggestionnoone yettape dump available on S3slides should be merged 100%
Camp++The real risks of the IoT security-nightmareendretape dump available on S3slides should be merged (PDF in FRAB), has demo
Camp++The Legend of Windows: A Link to the Hashnoone yetdnet has tape dumpslides should be merged, has demo

Improving video recording

  • experiment with snowmix voctomix
  • capture speaker's screen with VNC (also leads to simple and wireless beamer setup) DeckLink card over HDMI
  • set up a loot TV to monitor camera output

Voctomix-based plan for hardware procurement

Blackmagic Design DeckLink Mini Recorder2145 USD / 53 150 HUFavailable
Zidoo X9129 000 HUFavailable
Camera1115 000 HUFavailable
Prime lens120 000 HUFavailable
Zoom lens1 maybe later
Camera HDMI adapter (mini or micro)1 mini available
HDMI to HDMI cable51000 HUFavailable
HDMI splitter17000 HUFavailable
DVI to HDMI cable (optional)12000 HUFavailable
VGA to HDMI converter120 000 HUFavailable
Sum ~300 000 HUF

Rewiring bastya12 audio infrastructure

Current setup:
  • stereo unbalanced audio cable on the floor from plenum table to amplifier
  • stereo unbalanced audio cable on the ceiling from amplifier to kiosk for LED display visualization
Proposed setup: centralized audio switchboard
  • inputs:
    • Raspberry Pi
    • plenum table
    • microphones (balanced, both for speaker and audience)
  • outputs:
    • to amplifier
    • to visualization
    • to video camera for recording (in case of talks and workshops)


Recording a simple talk with slides merged later (e.g. Cryptonite)

The HOWTO below assumes that an empty cassette has been put into the camcorder and is positioned at the beginning of the tape.
  1. set up the tripod near the table, facing the speaker
    • unlock, expand and lock the telescopic legs (two black plastic locks near the bottom of each leg)
    • use the screws to release and tighten before panning, tilting or rolling
  2. set up the camcorder on the tripod
    • unpack the camcorder and its power supply from the black bag
    • the camcorder doesn't have a battery, connect the power supply in a way that people don't pull it by accident
    • unlock the camera mount from the tripod with the lock on the right
    • screw the camera on the mount
    • lock the camera mount on the tripod with the lock on the right
    • open the small screen on the left (it has some dead pixels, and some color channels might have problems)
    • turn on the camcorder with the round switch on the right by pressing the small plastic lock and rotating it into REC position
    • the camera turns off after a few minutes of inactivity (beeps before doing so), if this happens, just turn it off and on again; this happens to protect the tape and the head, don't leave the camera on without recording unnecessarily
    • the big round button in the center of the on-off switch toggles between record and pause
  3. change default camera settings
    • the menu can be opened by pressing the menu button
    • for navigation, a small three-way button can be found in the front left (can be pushed up and down to move the cursor, pressing it selects the active item)
    • change the audio quality from the default 12 bits to 16 bits
    • change the video recording mode from SP (60 min) to LP (90 min)
    • change the video output to headphone output
    • if you intend to use the zoom, you can disable digital zoom as well
    • now you can connect an earphone into the appropriate socket to monitor audio
    • the settings are persistent as long as the camera has power (even when it's turned off but connected to the power supply)
  4. set up the lavalier microphone on the shirt of the speaker
    • get its box from the B5 storage box
    • lay the 5 meters of the cable in the direction of the tripod, avoiding people walking around it
    • connect it to the (red) microphone socket of the camera
    • test it by turning the preamplifier (the small box near the microphone) on and monitoring the earphones while the camcorder is turned on and in record mode, then turn it off
    • turn on the preamplifier only right before the talk starts to conserve battery
  5. Image record the event
    • use the headphone to monitor audio
    • if there are persistent problems with the audio output because of the microphone, you can always pull the plug from the camera, and it switches to the built-in stereo microphone within a second
    • if you want the slides to be merged, avoid panning, record the image with the speaker in the center and at least a small section of the slides visible on the top left corner (see example on the right, and attached input and output samples)
    • the T-W slider can be used to zoom in and out
  6. remove the microphone
    • turn off the preamplifier right after the talk ended to conserve battery
    • put the microphone with the preamplifier and the cable into its box
    • put the box into the B5 storage box
  7. remove the camcorder from the tripod
    • unlock the camera mount from the tripod with the lock on the right
    • unscrew the camcorder
    • lock the camera mount on the tripod with the lock on the right
    • put the camera and the power supply into the black bag
  8. pack up the tripod
    • unlock, retract then relock the telescopic legs
    • put the tripod and the black camera bag back to its original place

Merging slides to recorded material

  1. dump DV contents
    • unpack the camcorder and its power supply from the black bag
    • the camcorder doesn't have a battery, connect the power supply in a way that people don't pull it by accident
    • connect the camera to a computer with a FireWire/IEEE-1394 cable
    • open the small screen on the left (it has some dead pixels, and some color channels might have problems)
    • turn on the camcorder with the round switch on the right by pressing the small plastic lock and rotating it into PLAY position
    • rewind the tape
    • enter a directory on the PC with at least 20 GB free space
    • execute dvgrab -size 0 -autosplit -timestamp
    • some versions of dvgrab crash when encountering damaged parts of the tape, restart if needed
    • when the end of the tape or content is reached, rewind the tape
    • turn off the camera
    • put the camera and the power supply into the black bag
  2. convert PDF slides to a bunch of PNG files
    • install poppler-utils
    • execute pdftocairo -png slides.pdf slide where slides.pdf is the PDF with the slides
    • this will result in PNG files such as slide-02.png
  3. identify slide change timestamps — method 1
    • TODO editor.py
  4. identify slide change timestamps — method 2
    • install mplayer, PyQt4 ( python-qt4 ), and pyinotify ( python-pyinotify )
    • check out the https://github.com/hsbp/slide-merger repository
    • create a file called timestamps.txt with the contents 0,/path/to/slide-01.png with the appropriate path to the PNG file generated for the first slide above
    • keep this file open in your editor of choice, this will contain the list of slides with the frame at which the slide should appear, separated with a comma ( ',' ), in ascending order by frame number
    • launch python praetor.py /path/to/timestamps.txt in the directory where you checked out the above repository, setting the appropriate path for the second argument
    • launch mplayer -udp-master foo.dv where foo.dv is the dumped DV content
    • the window opened by the Python command will show the exact frame number currently shown in the mplayer window and the slide that would be visible after merge
    • use standard mplayer navigation to seek: left/right ±10 sec, up/down ±1 min, PgUp/PgDn ±10 min, space to pause, dot ( '.' ) to step frame by frame
    • use the frame information to update timestamps.txt
    • saving timestamps.txt should cause reload in praetor automatically with inotify
    • manual reload can be triggered with the Reload log button
  5. merge slides based on timestamps
    • install FFmpeg and QT build environment
    • check out the https://github.com/hsbp/slide-merger repository if you haven't done so already
    • launch a shell in the merger subdirectory of the above repository after checkout
    • execute qmake (you only need to do this once per checkout unless you plan on doing tool development)
    • open merger.cpp in your editor of choice and adjust the values in the lines starting with #define in the first 60 or so lines, use the ASCII art model in the source code comments to understand the relationship between these values
    • save merger.cpp and execute make, which (unless you have some errors in the source code or the environment) should produce an executable called merger
    • execute ffmpeg -i foo.dv -vcodec rawvideo -pix_fmt rgb24 -f rawvideo - | path/to/merger timestamps.txt slide-01.png out.mkv where foo.dv is the dumped DV content, timestamps.txt contains frame information created above, slide-01.png is the path of the first slide (displayed before the first entry in timestamps.txt), and out.mkv is the output file, which will contain the merged video without audio (this will take a while)
    • extract the audio from the DV file with mplayer foo.dv -dumpaudio, the resulting file stream.dump will contain 16-bit little-endian stereo raw PCM samples at 48 kHz (or 32 kHz if you left the audio setting at 12-bit)
    • import that audio into Audacity by selecting File -> Import -> Raw data and select the settings above
    • perform any editing, including deleting stuff at the end (usually right after the last applause) and performing noise reduction, and removing empty tracks (such as when recording in stereo with a mono microphone)
    • export to 16-bit mono (external mic) or stereo (built-in mic) wav
    • in case of mono output, install sox (Debian/Ubuntu package has the same name) and execute sox mono.wav -c 2 stereo.wav to duplicate the mono channel (the resulting file will have twice the size)
    • merge the audio with the video by running ffmpeg -i out.mkv -i stereo.wav -vcodec copy -acodec aac -shortest payload.mkv where out.mkv is the merged video-only track with slides, stereo.wav has two 16-bit PCM channels at 48 kHz, and payload.mkv will contain the output (because of shortest, all the stuff cut from the end of the audio track will be cut from the video as well)
  6. add intro and title card
    • draw title card in the same resolution as the rest of the content, save as card.png
    • generate title card content: ffmpeg -i intro.mkv -an -i card.png -filter_complex 'overlay' -an -vcodec libx264 title.mkv
    • concatenate title card to intro: mkvmerge intro.mkv + title.mkv -o it.mkv
    • add soundtrack and limit length: ffmpeg -i it.mkv -i bgmusic.wav -vcodec copy -acodec aac -shortest prefix.mkv
    • concatenate the payload to this prefix: mkvmerge prefix.mkv + payload.mkv -o final.mkv
Contributors to this page: dnet and vista .
Page last modified on Friday 25 of August, 2017 15:50:21 CEST by dnet.

Upcoming Events

1)  Tue 19 of Sep, 2017 19:00 CEST
2)  Tue 26 of Sep, 2017 19:00 CEST
3)  Tue 03 of Oct, 2017 19:00 CEST