mp4文件录制完成后会在文件尾部写一些数据信息,所以检测MP4文件完整性只需要检测尾部特定的信息;
完整文件
不完整文件
检测依据:文件最后10字节数据是否是H264/90000;
检测脚本
#!/bin/sh
MD5_KEY="29c5e771148be6cedea557783a7347ff"
vfile=$1
fmsize=`stat -c %s $vfile`;
fmsize=$((fmsize-10));
dd if=$vfile of=/tmp/aamp4.dat skip=$fmsize count=10 bs=1 2>/dev/null;
md5_val=`md5sum /tmp/aamp4.dat | awk '{print $1}'`;
echo "md5 ret=$md5_val"
[ "$MD5_KEY" == "$md5_val" ] && {
echo "md5 check ok"
} || {
echo "md5 check no"
}
rm -rf /tmp/aamp4.dat
对MP4文件格式不熟悉,学习后继续补充。。。