#!/bin/sh CHAT_EXPORT="$1" jq \ -r '.messages | map(select(.media_type == "video_file")) | .[].file' \ "$CHAT_EXPORT/result.json" | while read -r file; do FILE="$CHAT_EXPORT/$file" ffprobe \ -v quiet \ -print_format json \ -select_streams a \ -show_streams \ "$FILE" > "$FILE.tmp.json" HAS_AUDIO="$(jq '.streams | length > 0' "$FILE.tmp.json")" if [ "$HAS_AUDIO" = "true" ]; then cp "$FILE" videos/$(basename "$FILE") fi rm "$FILE.tmp.json" done