
.MP4 비디오 파일로 가득 찬 디렉토리가 있습니다. 각 파일의 이름과 지속 시간(분, 초)이 포함된 목록을 보고 싶습니다. 이 같은:
one.mp4 4:34
two.mp4 2:23
three.mp4 8:34
four.mp4 0:43
많은 파일 관리자를 사용해 보았지만 이 정보를 표시하는 관리자를 찾을 수 없습니다.
터미널과 관련된 솔루션은 괜찮을 것입니다.
답변1
이것을 시도해 보세요: (에서 영감을 얻었습니다.superuser.com)
for f in *.mp4
do
echo -n "$f "
ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 -sexagesimal "$f"
done
그러나 출력은 HH:MM:SS.MILLISECONDS 형식입니다. -sexagesimal 옵션을 생략하면 지속 시간이 초 단위로 표시됩니다.
원하는 출력 형식 HH:MM의 경우 다음과 같이 수행할 수 있습니다.
for f in *.mp4
do
echo -n "$f "
dur=`ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 "$f"`
min=`echo "$dur/60" | bc`
sec=`echo "$dur%60/1" | bc`
echo "$min:$sec"
done
답변2
avprobe
패키지에서 libav-tools
이 작업을 수행합니다.
샘플 출력 avprobe myfile.mp4
avprobe 버전 10.1-6:10.1-1~bpo70+1, Copyright (c) 2007-2014 Libav 개발자 2014년 6월 6일 18:25:37에 gcc 4.7(Debian 4.7.2-5)로 구축됨 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x90f4720] 여러 편집 목록 항목, a/v 비동기화가 발생할 수 있음, 패치 환영 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x90f4720] 여러 편집 목록 항목, a/v 비동기화가 발생할 수 있음, 패치 환영 'Zieleinlauf_2013_1886.mp4'에서 #0, mov,mp4,m4a,3gp,3g2,mj2를 입력합니다. 메타데이터: major_brand : 이솜 마이너 버전 : 512 Compatible_brands: isomiso2avc1mp41 인코더 : Lavf54.2.100 지속 시간: 00:00:14.09, 시작: 0.021995, 비트 전송률: 4009kb/s 스트림 #0.0(und): 비디오: h264(높음), yuv420p, 534x300, 3854kb/s, 25fps, 25tbn, 50tbc(기본값) 스트림 #0.1(und): 오디오: aac, 22050Hz, 모노, fltp, 127kb/s(기본값) # avprobe 출력