#!/bin/bash
OUTPUT_DIR="/data/mp4/frames"
mkdir ${OUTPUT_DIR}
FLENAME_PREFIX_LIST="bmx-bumps bmx-trees"
for FLENAME_PREFIX in $FLENAME_PREFIX_LIST; do
INPUT_VIDEO_PATH="/data/mp4/${FLENAME_PREFIX}.mp4"
mkdir ${OUTPUT_DIR}/${FLENAME_PREFIX}
input_text=$(ffprobe -i ${INPUT_VIDEO_PATH} -v quiet -select_streams v -show_entries frame=pkt_pts_time,pict_type)
echo $input_text
index=0
declare -a frame_map_type
declare -a frame_map_time
while IFS= read -r line; do
if [[ $line == *"pkt_pts_time"* ]]; then
time=$(echo "$line" | awk -F'=' '{print $2}')
frame_map_time+=("$index, $time")
elif [[ $line == *"pict_type"* ]]; then
type=$(echo "$line" | awk -F'=' '{print $2}')
frame_map_type+=("$index, $type")
index=$((index+1))
fi
done <<< "$input_text"
# print frame map
rm "${OUTPUT_DIR}/${FLENAME_PREFIX}/frame_map_type.txt"
for key in "${!frame_map_type[@]}"; do
echo "${frame_map_type[$key]}" | tee -a "${OUTPUT_DIR}/${FLENAME_PREFIX}/frame_map_type.txt"
done
rm "${OUTPUT_DIR}/${FLENAME_PREFIX}/frame_map_time.txt"
for key in "${!frame_map_time[@]}"; do
echo "${frame_map_time[$key]}" | tee -a "${OUTPUT_DIR}/${FLENAME_PREFIX}/frame_map_time.txt"
done
echo $FLENAME_PREFIX
done
暂无评论