Red Hen Anonymizer

Initial documentation

  1. Presentation 2022-07-13, Symposium on Data Science Methods for the Study of Co-Speech Gesture, at the 9th conference of the International Society for Gesture Studies.

  2. https://yashkhasbage25.github.io/AnonymizingAudioVisualData/

  3. https://github.com/yashkhasbage25/AnonymizingAudioVisualData

The basic documentation for installation and use will ultimately be placed on this page. It will include a description of the environment needed, including software versions, modules, paths, dependencies, . . . ; requirements and recommendations for inputs (e.g. no camera edits).

Tips

  1. Use ffprobe to detect metadata of videos

  2. Clips should be created with only the accurate (not the fast) method of ffmpeg, e.g.

    1. ffmpeg -ss START_TIME -i 2018-05-28_2200_US_KNBC_The_Ellen_DeGeneres_Show.mp4 -c:v libx264 -c:a aac -b:a 96K -strict -2 -to END_TIME accurate.mp4

  3. Target faces must be a square jpg, ideally 256x256

Current tasks

  1. Use e.g. tempfile for python to keep track of working files, e.g. the temporarily stripped out audio .wav file. https://docs.python.org/3/library/tempfile.html

  2. Enable rha to be executed from any directory, provided the user has set the right PATH (probably by exporting in .bashrc.), and with inputs from any directory on which the user has read privileges, and with outputs to any directory on which the user has write privileges

  3. To be used on videos that fail, e.g. videos that have been improperly trimmed: establish standards for decoding and recoding to produce output videos suitable for rha. E.g., locating the codec and bitrate of the original video and then using something like

    1. ffmpeg -i input-original.mp4 -ss 00:11:42 -strict -2 -to 01:11:22 -codec:v h264 -b:v 100k;

Feature requests

  1. Completed: Add OpenPose alongside Face-Hider and Face-Swapper

  2. Create a bash script for end users to run in the CWRU HPC environment. ,Variables fed on the command line would flow to the right places in the script. In verbose mode, it would

  1. report that it is checking the python version, and if necessary, switch to the right one and report the switch;

  2. report that it is checking that the right modules are loaded, and if necessary, load the missing ones, or abort and request that the user load them

  3. report that it is checking paths and permissions

  4. reporting errors and request fixes