| #!/bin/bash | 
 | set -xe | 
 |  | 
 | while [[ "$#" -gt 0 ]]; do | 
 |     case $1 in | 
 |         -b|--avm_build_dir) avm_build_dir="$2"; shift ;; | 
 |         -s|--stream) stream="$2"; shift ;; | 
 |         -o|--output) output="$2"; shift ;; | 
 |         -y|--yuv) yuv="$2"; shift ;; | 
 |         -n|--limit) limit="$2"; shift ;; | 
 |         *) echo "Unknown arg: $1"; exit 1 ;; | 
 |     esac | 
 |     shift | 
 | done | 
 |  | 
 | if [[ -z ${avm_build_dir} || -z ${stream} || -z ${output} ]]; then | 
 |   echo "Usage: ./convert_stream.sh --avm_build_dir <AVM_BUILD_PATH> --stream <STREAM_PATH> --output <ZIP_OUTPUT_PATH> [--yuv <PATH_TO_ORIG_YUV>] [--limit <NUM_FRAMES>]" | 
 |   exit 1 | 
 | fi | 
 |  | 
 | orig_yuv_arg="" | 
 | if [[ -n ${yuv} ]]; then | 
 | orig_yuv_arg="--orig_yuv=${yuv}" | 
 | fi | 
 | limit_arg="" | 
 | if [[ -n ${limit} ]]; then | 
 | limit_arg="--limit=${limit}" | 
 | fi | 
 | tmpdir=$(mktemp -d) | 
 | ${avm_build_dir}/extract_proto --stream ${stream} --output_folder ${tmpdir} ${orig_yuv_arg} ${limit_arg} | 
 | zip --filesync --recurse-paths --junk-paths ${output} ${tmpdir}/*.pb | 
 | rm ${tmpdir}/*.pb |