MediaInfo
mediainfo --Inform="Video;%Codec%" video.mkv
będzie moja sprawa powrotu:
V_MPEG4/ISO/AVC
odpowiedzi możliwe dzięki How to find duration of a video file using mediainfo in seconds or other formats?
ffprobe (ffmpeg) łatwy sposób
Zakładając, że film ma jeden tylko strumień wideo:
ffprobe -v error -select_streams v:0 -show_entries stream=codec_name \
-of default=noprint_wrappers=1:nokey=1 video.mkv
Czy w moim przypadku powrotu:
h264
odpowiedzi możliwe dzięki How to get video duration in seconds?
ffprobe (ffmpeg) brudnej drodze
Metoda ta jest łatwiejsza do zrozumienia, ale niechlujny.
Aby uzyskać informacje o koderze bez odtwarzania pliku, użyj ffprobe
.
$ ffprobe video.mkv
[...]
Input #0, matroska,webm, from 'video.mkv':
Metadata:
ENCODER : Lavf56.25.101
Duration: 00:28:05.15, start: 0.000000, bitrate: 4353 kb/s
Stream #0:0: Video: h264 (High 4:4:4 Predictive), yuv444p, 1280x960, SAR 1:1 DAR 4:3, 29.97 fps, 29.97 tbr, 1k tbn, 59.94 tbc (default)
Metadata:
ENCODER : Lavc56.26.100 libx264
Stream #0:1: Audio: vorbis, 48000 Hz, stereo, fltp (default)
Metadata:
ENCODER : Lavc56.26.100 libvorbis
Aby wydobyć informacje kodeka wideo - od ffmpeg wysyła informację do stderr - pipe i grep go:
$ ffprobe video.mkv 2>&1 >/dev/null | grep Stream.*Video
Stream #0:0: Video: h264 (High 4:4:4 Predictive), yuv444p, 1280x960, SAR 1:1 DAR 4:3, 29.97 fps, 29.97 tbr, 1k tbn, 59.94 tbc (default)
Aby to zmniejszyć jeszcze bardziej, wprowadzenie sed:
$ ffprobe video.mkv 2>&1 >/dev/null |grep Stream.*Video | sed -e 's/.*Video: //' -e 's/[, ].*//'
h264
Nie można odtworzyć. ffmpeg-0.5-5.20091026svn.fc12.x86_64 –