Video dosyası bilgileri Linux altındaki komut satırından nasıl alınır?


81

Komut satırından, belirli bir video dosyasına ait tüm bilgileri uzunluk, kalite, bit hızı, çözünürlük, ses ve video formatları, ses akışlarının ve altyazıların sayısı ve dili vb. Dahil olmak üzere görmek istiyorum; daha fazla, en iyisi.

Şu ana kadar VLC'nin "bilgi" sekmesine başvurmalıyım, çünkü Dolphin dosya yöneticisi bile bu konuda bana yardımcı olmuyor: bana bu bilgilerin sadece bir kısmını ve sadece bazı formatlar için (yani .mkvbu şekilde desteklenmiyor gibi) gösteriyor ).


2
Mediainfo'dan ne haber ?
Endoro

5
Bir de mkvinfove bir göz atın ffprobe.
slhck

Sana da teşekkür ederim; önceden olduğu gibi, lütfen cevap verin, böylece önerinizi doğru bir şekilde oylayabilmeliyim
Sekhemty

1
Mkvinfo iyidir, ancak yalnızca MKV videoları için:mkvinfo -v -v video.mkv
Endoro

Yanıtlar:


100

Ver MediaInfo bir deneyin. Komut satırında yazın mediainfo input.mkv. Daha ayrıntılı video bilgisi için mediainfo --fullscan input.mkv.

Çıktı örneği:

Genel
Benzersiz Kimlik: 239093944660469735839645243666869007606 (0xB3DFD199E22F0E7CBAE1FE52206834F6)
Tam ad: input.mkv
Biçim: Matroska
Sürüm biçimi: Sürüm 2
Dosya boyutu: 39.6 MiB
Süre: 20s 288ms
Genel bit hızı modu: Değişken
Genel bit hızı: 16,4 Mb / sn
Film adı: En iyi filmim
Kodlanmış tarih: UTC 2012-11-10 16:42:02
Yazma uygulaması: 2 Eylül 2012 tarihinde inşa edilen mkvmerge v5.8.0 ('Uyku / Yastık Yok') 15:37:04
Kütüphane yazma: libebml v1.2.3 + libmatroska v1.3.0
Ürün: ??? ???????
Teşekkürler: Bruce Davey
Başrol oyuncusu: Rudy Youngblood
Remixed by: © ????

Video
Kimlik: 1
Biçim: AVC
Format / Bilgi: Gelişmiş Video Codec'i
Profili biçimlendir: High@L4.0
MultiView_Count: 2
Ayarları biçimlendir, CABAC: Evet
Biçimlendirme ayarları, ReFrames: 2 kare
Ayarları biçimlendir, GOP: M = 2, N = 13
Muxing modu: Başlık sıyırma
Codec ID: V_MPEG4 / ISO / AVC
Süre: 20s 280ms
Bit hızı modu: Değişken
Bit hızı: 15.8 Mbps
Maksimum bit hızı: 16.0 Mbps
Genişlik: 1 920 piksel
Yükseklik: 1 080 piksel
Ekran en boy oranı: 16: 9
Kare hızı modu: Sabit
Kare hızı: 25.000 fps
Renk alanı: YUV
Chroma alt örneği: 4: 2: 0
Bit derinliği: 8 bit
Tarama tipi: Geçmeli
Tarama sırası: Önce İlk Alan
Bit / (Piksel * Çerçeve): 0.304
Akış büyüklüğü: 38,2 MiB (% 96)
Başlık: Sony Donanım Video H.264 Kodlayıcı
Dil ingilizce
Varsayılan: Evet
Zorla: Hayır

Ses
Kimlik: 2
Biçim: AC-3
Biçim / Bilgi: Ses Kodlama 3
Mod uzantısı: CM (ana komple)
Ayarları biçimlendir, Endianness: Big
Muxing modu: Başlık sıyırma
Codec ID: A_AC3
Süre: 20s 288ms
Bit hızı modu: Sabit
Bit hızı: 256 Kbps
Kanal (lar): 2 kanal
Kanal konumları: Ön: LR
Örnekleme oranı: 48.0 KHz
Bit derinliği: 16 bit
Sıkıştırma modu: Kayıplı
Videoya göre gecikme: -80ms
Akış büyüklüğü: 634 KiB (% 2)
Başlık: Sony Donanım Ses AC3 Kodlayıcı
Dil: rusça
Varsayılan: Evet
Zorla: Hayır

Metin
Kimlik: 3
Biçim: PGS
Muxing modu: zlib
Codec ID: S_HDMV / PGS
Codec ID / Info: BD / HD-DVD’lerde kullanılan aynı altyazı formatı
Başlık: Sony Donanım PGS Enkoder
Dil ingilizce
Varsayılan: Evet
Zorla: Hayır

Bu iyi ama sadece komut satırında sadece süre almak istiyorum.Teşekkürler
Günay Gültekin

2
Evet onu buldum. Böyle yapmalıyım; 'mediaInfo --Output = Video;% Süre% dosyaadı.mp4'
Günay Gültekin

22

Mplayer kullanabilirsiniz:

mplayer -vo null -ao null -frames 0 -identify videofile.mp4

Çıktı:

MPlayer 1.1-4.2.1 (C) 2000-2012 MPlayer Team
Can't init Apple Remote.

Playing vid.mp4.
libavformat version 54.6.101 (internal)
libavformat file format detected.
ID_VIDEO_ID=0
[lavf] stream 0: video (h264), -vid 0
ID_AUDIO_ID=0
[lavf] stream 1: audio (aac), -aid 0, -alang und
VIDEO:  [H264]  480x360  24bpp  29.970 fps  700.7 kbps (85.5 kbyte/s)
Clip info:
 major_brand: qt
ID_CLIP_INFO_NAME0=major_brand
ID_CLIP_INFO_VALUE0=qt
 minor_version: 0
ID_CLIP_INFO_NAME1=minor_version
ID_CLIP_INFO_VALUE1=0
 compatible_brands: qt
ID_CLIP_INFO_NAME2=compatible_brands
ID_CLIP_INFO_VALUE2=qt
 creation_time: 2011-03-03 15:42:30
ID_CLIP_INFO_NAME3=creation_time
ID_CLIP_INFO_VALUE3=2011-03-03 15:42:30
 encoder: 4.2.1
ID_CLIP_INFO_NAME4=encoder
ID_CLIP_INFO_VALUE4=4.2.1
 encoder-eng: 4.2.1
ID_CLIP_INFO_NAME5=encoder-eng
ID_CLIP_INFO_VALUE5=4.2.1
 date: 2011-03-03T10:42:30-0500
ID_CLIP_INFO_NAME6=date
ID_CLIP_INFO_VALUE6=2011-03-03T10:42:30-0500
 date-eng: 2011-03-03T10:42:30-0500
ID_CLIP_INFO_NAME7=date-eng
ID_CLIP_INFO_VALUE7=2011-03-03T10:42:30-0500
ID_CLIP_INFO_N=8
Load subtitles in ./
ID_FILENAME=vid.mp4
ID_DEMUXER=lavfpref
ID_VIDEO_FORMAT=H264
ID_VIDEO_BITRATE=700712
ID_VIDEO_WIDTH=480
ID_VIDEO_HEIGHT=360
ID_VIDEO_FPS=29.970
ID_VIDEO_ASPECT=0.0000
ID_AUDIO_FORMAT=MP4A
ID_AUDIO_BITRATE=63600
ID_AUDIO_RATE=44100
ID_AUDIO_NCH=1
ID_START_TIME=0.00
ID_LENGTH=3.83
ID_SEEKABLE=1
ID_CHAPTERS=0
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
libavcodec version 54.23.100 (internal)
Selected video codec: [ffh264] vfm: ffmpeg (FFmpeg H.264)
==========================================================================
ID_VIDEO_CODEC=ffh264
==========================================================================
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
AUDIO: 44100 Hz, 1 ch, s16le, 63.6 kbit/9.01% (ratio: 7950->88200)
ID_AUDIO_BITRATE=63600
ID_AUDIO_RATE=44100
ID_AUDIO_NCH=1
Selected audio codec: [ffaac] afm: ffmpeg (FFmpeg AAC (MPEG-2/MPEG-4 Audio))
==========================================================================
AO: [null] 44100Hz 1ch s16le (2 bytes per sample)
ID_AUDIO_CODEC=ffaac
Starting playback...


Exiting... (End of file)
ID_EXIT=EOF

2
Bilginize, bu brew.sh kullanarak ve ile mplayer yükleme OS X 10.10 üzerinde harika çalıştı brew install mplayer. mplayer, mediainfo'dan çok standart dışı bir meta veri tespit ediyor gibi görünüyor.
Andrew Odri,

22

ffprobe

Ubuntu altında:

sudo apt install ffmpeg
ffprobe a.mp4

Biçim, akışlar vb. Hakkında bilgi almak için, koş:

ffprobe -v error -show_format -show_streams a.mp4

[STREAM]
index=0
codec_name=h264
codec_long_name=H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
profile=High
codec_type=video
codec_time_base=1/50
codec_tag_string=avc1
codec_tag=0x31637661
width=320
height=240
has_b_frames=2
sample_aspect_ratio=1:1
display_aspect_ratio=4:3
pix_fmt=yuv420p
level=13
color_range=N/A
color_space=unknown
color_transfer=unknown
color_primaries=unknown
chroma_location=left
timecode=N/A
refs=4
is_avc=1
nal_length_size=4
id=N/A
r_frame_rate=25/1
avg_frame_rate=25/1
time_base=1/12800
start_pts=0
start_time=0.000000
duration_ts=384000
duration=30.000000
bit_rate=34761
max_bit_rate=N/A
bits_per_raw_sample=8
nb_frames=750
nb_read_frames=N/A
nb_read_packets=N/A
DISPOSITION:default=1
DISPOSITION:dub=0
DISPOSITION:original=0
DISPOSITION:comment=0
DISPOSITION:lyrics=0
DISPOSITION:karaoke=0
DISPOSITION:forced=0
DISPOSITION:hearing_impaired=0
DISPOSITION:visual_impaired=0
DISPOSITION:clean_effects=0
DISPOSITION:attached_pic=0
TAG:language=und
TAG:handler_name=VideoHandler
[/STREAM]
[STREAM]
index=1
codec_name=aac
codec_long_name=AAC (Advanced Audio Coding)
profile=LC
codec_type=audio
codec_time_base=1/44100
codec_tag_string=mp4a
codec_tag=0x6134706d
sample_fmt=fltp
sample_rate=44100
channels=1
channel_layout=mono
bits_per_sample=0
id=N/A
r_frame_rate=0/0
avg_frame_rate=0/0
time_base=1/44100
start_pts=-1024
start_time=-0.023220
duration_ts=1324024
duration=30.023220
bit_rate=56517
max_bit_rate=N/A
bits_per_raw_sample=N/A
nb_frames=1293
nb_read_frames=N/A
nb_read_packets=N/A
DISPOSITION:default=1
DISPOSITION:dub=0
DISPOSITION:original=0
DISPOSITION:comment=0
DISPOSITION:lyrics=0
DISPOSITION:karaoke=0
DISPOSITION:forced=0
DISPOSITION:hearing_impaired=0
DISPOSITION:visual_impaired=0
DISPOSITION:clean_effects=0
DISPOSITION:attached_pic=0
TAG:language=und
TAG:handler_name=SoundHandler
[/STREAM]
[FORMAT]
filename=input.mp4
nb_streams=2
nb_programs=0
format_name=mov,mp4,m4a,3gp,3g2,mj2
format_long_name=QuickTime / MOV
start_time=-0.023220
duration=30.024000
size=368644
bit_rate=98226
probe_score=100
TAG:major_brand=isom
TAG:minor_version=512
TAG:compatible_brands=isomiso2avc1mp41
TAG:title=FFprobe Tips
TAG:encoder=Lavf56.15.101
[/FORMAT]

JSON veya CSV olarak da çıktı alabilirsiniz. Ffprobe hakkında daha fazla bilgi edinin .


ExifTool

Ubuntu altında:

sudo apt install libimage-exiftool-perl
exiftool a.mp4

Örnek çıktı:

ExifTool Version Number         : 10.00
File Name                       : lego.mp4
Directory                       : .
File Size                       : 375 kB
File Modification Date/Time     : 2016:02:03 17:18:15+01:00
File Access Date/Time           : 2016:02:03 17:18:49+01:00
File Inode Change Date/Time     : 2016:02:03 17:18:49+01:00
File Permissions                : rw-rw-r--
File Type                       : MP4
File Type Extension             : mp4
MIME Type                       : video/mp4
Major Brand                     : MP4 v2 [ISO 14496-14]
Minor Version                   : 0.0.0
Compatible Brands               : mp42, isom, avc1
Movie Data Size                 : 379872
Movie Data Offset               : 168
Movie Header Version            : 0
Create Date                     : 2010:03:20 21:29:11
Modify Date                     : 2010:03:20 21:29:12
Time Scale                      : 90000
Duration                        : 5.57 s
Preferred Rate                  : 1
Preferred Volume                : 100.00%
Preview Time                    : 0 s
Preview Duration                : 0 s
Poster Time                     : 0 s
Selection Time                  : 0 s
Selection Duration              : 0 s
Current Time                    : 0 s
Next Track ID                   : 3
Track Header Version            : 0
Track Create Date               : 2010:03:20 21:29:11
Track Modify Date               : 2010:03:20 21:29:12
Track ID                        : 1
Track Duration                  : 5.53 s
Track Layer                     : 0
Track Volume                    : 0.00%
Image Width                     : 560
Image Height                    : 320
Graphics Mode                   : srcCopy
Op Color                        : 0 0 0
Compressor ID                   : avc1
Source Image Width              : 560
Source Image Height             : 320
X Resolution                    : 72
Y Resolution                    : 72
Compressor Name                 : JVT/AVC Coding
Bit Depth                       : 24
Color Representation            : nclc 1 1 1
Video Frame Rate                : 30
Matrix Structure                : 1 0 0 0 1 0 0 0 1
Media Header Version            : 0
Media Create Date               : 2010:03:20 21:29:11
Media Modify Date               : 2010:03:20 21:29:12
Media Time Scale                : 48000
Media Duration                  : 5.57 s
Media Language Code             : eng
Balance                         : 0
Audio Format                    : mp4a
Audio Channels                  : 1
Audio Bits Per Sample           : 16
Audio Sample Rate               : 48000
Track 2 Name                    : Stereo
Handler Type                    : Metadata
Encoder                         : HandBrake 0.9.4 2009112300
Avg Bitrate                     : 546 kbps
Image Size                      : 560x320
Megapixels                      : 0.179
Rotation                        : 0

Ayrıca bakınız: https://askubuntu.com/questions/249828/command-to-see-media-file-info-in-terminal

Ubuntu 18.10'da test edilmiştir.


@slhck düzenleme için teşekkürler, ancak lütfen hangi ubuntu versiyonunu denediğinizi söyleyin. Buna göre, düzenlemeyi kabul ediyorum, teşekkürler.
Ciro Santilli

18.04 ve 18.10, yani LTS ve güncel olanlar. Lütfen Stack Exchange'deki cevapların güncel kalması için diğer kullanıcılar tarafından düzenlenmiş olabileceğini göz önünde bulundurun.
slhck

@shhck teşekkürler. Ancak, güncellemeler olmadan birkaç yıl kalabilirler, her düzenlemede test edilmeleri daha iyi olur.
Ciro Santilli

Evet, test edildiği sürüm eklenebilir, ancak işletim sistemine değil, çoğunlukla araçların kendisine (ffprobe, exiftool) bağlıdır.
slhck

@slhck kabul etti, şu anki yanıt şablonum "Ubuntu ZW'de test edildi,
MyPackage XY'de Test Edildi

3

Mediainfo harika bir araçtır. Alternatif olarak, ffprobe kullanarak da ayrıntıları alabilirsiniz .

$ ffprobe -hide_banner -loglevel fatal -show_error -show_format -show_streams -show_programs -show_chapters -show_private_data -print_format json /home/sathish/Videos/Aandipatti.mp4

İşte çıktı

{
    "programs": [

    ],
    "streams": [
        {
            "index": 0,
            "codec_name": "h264",
            "codec_long_name": "H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10",
            "profile": "High",
            "codec_type": "video",
            "codec_time_base": "28113749/1349640000",
            "codec_tag_string": "avc1",
            "codec_tag": "0x31637661",
            "width": 1920,
            "height": 1080,
            "coded_width": 1920,
            "coded_height": 1080,
            "has_b_frames": 1,
            "sample_aspect_ratio": "1:1",
            "display_aspect_ratio": "16:9",
            "pix_fmt": "yuv420p",
            "level": 40,
            "color_range": "tv",
            "color_space": "bt709",
            "color_transfer": "bt709",
            "color_primaries": "bt709",
            "chroma_location": "left",
            "refs": 1,
            "is_avc": "true",
            "nal_length_size": "4",
            "r_frame_rate": "24/1",
            "avg_frame_rate": "674820000/28113749",
            "time_base": "1/90000",
            "start_pts": 0,
            "start_time": "0.000000",
            "duration_ts": 28113750,
            "duration": "312.375000",
            "bit_rate": "2612895",
            "bits_per_raw_sample": "8",
            "nb_frames": "7498",
            "disposition": {
                "default": 1,
                "dub": 0,
                "original": 0,
                "comment": 0,
                "lyrics": 0,
                "karaoke": 0,
                "forced": 0,
                "hearing_impaired": 0,
                "visual_impaired": 0,
                "clean_effects": 0,
                "attached_pic": 0,
                "timed_thumbnails": 0
            },
            "tags": {
                "language": "und",
                "handler_name": "VideoHandler"
            }
        },
        {
            "index": 1,
            "codec_name": "aac",
            "codec_long_name": "AAC (Advanced Audio Coding)",
            "profile": "LC",
            "codec_type": "audio",
            "codec_time_base": "1/44100",
            "codec_tag_string": "mp4a",
            "codec_tag": "0x6134706d",
            "sample_fmt": "fltp",
            "sample_rate": "44100",
            "channels": 2,
            "channel_layout": "stereo",
            "bits_per_sample": 0,
            "r_frame_rate": "0/0",
            "avg_frame_rate": "0/0",
            "time_base": "1/44100",
            "start_pts": 0,
            "start_time": "0.000000",
            "duration_ts": 13779971,
            "duration": "312.470998",
            "bit_rate": "125595",
            "max_bit_rate": "125595",
            "nb_frames": "13457",
            "disposition": {
                "default": 1,
                "dub": 0,
                "original": 0,
                "comment": 0,
                "lyrics": 0,
                "karaoke": 0,
                "forced": 0,
                "hearing_impaired": 0,
                "visual_impaired": 0,
                "clean_effects": 0,
                "attached_pic": 0,
                "timed_thumbnails": 0
            },
            "tags": {
                "language": "und",
                "handler_name": "SoundHandler"
            }
        }
    ],
    "chapters": [

    ],
    "format": {
        "filename": "/home/sathish/Videos/Aandipatti.mp4",
        "nb_streams": 2,
        "nb_programs": 0,
        "format_name": "mov,mp4,m4a,3gp,3g2,mj2",
        "format_long_name": "QuickTime / MOV",
        "start_time": "0.000000",
        "duration": "312.471000",
        "size": "107155047",
        "bit_rate": "2743423",
        "probe_score": 100,
        "tags": {
            "major_brand": "isom",
            "minor_version": "512",
            "compatible_brands": "isomiso2avc1mp41",
            "encoder": "Lavf56.40.101"
        }
    }
}

2

Günay Gültekin'in yazdığı gibi, yalnızca belirli bir özellik elde edebilirsiniz, ancak alıntılar eksikti:

mediaInfo --Output='Video;%Duration%' filename.mp4

Buna dayanarak, bir özet çıktısı bulunan bulunan dosyaların süresini hesaplamak için küçük bir paketleyici yazdım:

echo "scale=2; ($(find /foo/bar -type f -exec mediainfo --Output='Video;%Duration%+' {} \; | grep -v ^$ | tr -d \\n)0)"/60000/60|bc

1

Son linux dağıtımlarında aşağıdakileri de kullanarak bilgi alabilirsiniz avconv:

$ avconv -i ch1_video_01.mpg 
avconv version 9.18-6:9.18-0ubuntu0.14.04.1, Copyright (c) 2000-2014 the Libav developers
  built on Mar 16 2015 13:19:10 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
[mpeg @ 0x722840] max_analyze_duration reached
Guessed Channel Layout for  Input Stream #0.1 : stereo
Input #0, mpeg, from 'ch1_video_01.mpg':
  Duration: 00:03:48.01, start: 0.274000, bitrate: 6042 kb/s
    Stream #0.0[0x1e0]: Video: mpeg2video (Main), yuv420p, 720x576 [PAR 64:45 DAR 16:9], 8000 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc
    Stream #0.1[0x1c0]: Audio: mp2, 48000 Hz, stereo, s16p, 256 kb/s
At least one output file must be specified

avconvartık Ubuntu ile birlikte gönderilmemektedir.
slhck
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.