ffmpeg命令
tmp=$(date +%N);ffmpeg -i xx.avi &> _test_$tmp;grep Duration _test_$tmp | awk -F'[, ]' '{print $4}' ;rm _test_$tmp ; 这句命令据说是在linux 获取视频播放时长的命令,
想请哪位给我解释下这命令是什么意思!! 谢谢了!
tmp=$(date +%N); 这个没有看懂
test_$tmp;grep Duration _test_$tmp | awk -F'[, ]' '{print $4}' ;rm _test_$tmp ;
这更加是没有看懂!!为什么还有管道命令??
------解决方案--------------------
%N nanoseconds (000000000..999999999)
就是打印当前时间是1秒中的第几纳秒的意思.
tmp=$(date +%N) 是把date +%N的结果赋值给tmp.
ffmpeg -i xx.avi &> _test_$tmp; 这是一句,意思是标准输出/错误重定向到_test_$tmp文件。
grep Duration _test_$tmp | awk -F'[, ]' '{print $4}' ; 得到_test_$tmp文件中带有关键字Duration 的行,传给awk程序,awk程序以,或者空格作为分隔符,打印第4列。
rm _test_$tmp ;这是一句,删除_test_$tmp 文件