이 문제는 긴 오디오 트랙이 원인 인 것 같습니다. 아래 스크립트는 마지막 .ts 파일을 수정합니다.
last_ts=$(ls -1 "$dir"/out_*.ts | sort | tail -1)
bak=$last_ts.bak
filename="${last_ts##*/}"
basename="${filename%.*}"
workdir=/tmp
# copy only on the first run
[ -f "$bak" ] || cp -r "$last_ts" "$bak"
ffmpeg -y -i "$bak" -vn -c:a copy "$workdir/${basename}_a.ts"
video_stream_info="$(ffprobe "$bak" 2>&1 | grep 'Stream #0:0')"
resolution=$(echo "$video_stream_info" | perl -pe 's/^.*?, ([0-9]*x[0-9]*).*$/\1/g')
fps=$(echo "$video_stream_info" | perl -pe 's/^.*?([0-9.]*) fps.*$/\1/g')
bitrate=""
# FIXME
if [ $quality = low ];then
bitrate=400k
elif [ $quality = mid ];then
bitrate=900k
elif [ $quality = high ];then
bitrate=1200k
fi
extended_duration=$(ffprobe "$bak" 2>&1 | perl -ne '/Duration: (\d*):(\d*):(\d*)\.(\d*)/ && print((((((int($1) * 60) + int($2)) * 60) + int($3)) * 100 + int($4) + 10)/100)')
ffmpeg -y -f lavfi -i nullsrc=s=${resolution}:d=${extended_duration}:r=${fps} -i "$bak" \
-filter_complex "[0:v][1:v]overlay[video]" -map "[video]" \
-b:v $bitrate -c:v libx264 -an "$workdir/${basename}_v.ts"
ffmpeg -y -i "$workdir/${basename}_v.ts" -i "$workdir/${basename}_a.ts" \
-c:a copy -c:v copy \
"$last_ts"
이것을 알아 냈습니까? – BigCheesy
여기에서 같은 문제가 발생합니다. 어떤 해결책입니까? 감사. – aleberguer