Tên định dạng là tên viết ngắn của định dạng container của một tệp đa phương tiện. Nó cho bạn biết phần mềm FFmpeg gọi định dạng tệp của bạn là gì. Container là một định dạng tệp chứa một hoặc nhiều luồng âm thanh hoặc video và siêu dữ liệu, để chúng có thể được phát cùng nhau.
Format Long Name là một trường thứ hai mô tả cùng định dạng đó bằng từ ngữ dễ hiểu hơn. Chương trình ffprobe của FFmpeg trả về 2 trường này là format_name và format_long_name.
Giá trị trông như thế nào
FFmpeg đọc từng loại tệp bằng một phần gọi là demuxer. Tên định dạng là tên ngắn của demuxer đó, và tên dài là phần mô tả của nó. Một demuxer có thể đọc nhiều định dạng có liên quan, nên tên định dạng có thể là một danh sách được phân tách bằng dấu phẩy.
Các cặp sau đến từ mã nguồn FFmpeg, với tên định dạng ở trước:
mov,mp4,m4a,3gp,3g2,mj2vàQuickTime / MOVcho các tệp MP4, MOV và M4Amatroska,webmvàMatroska / WebMcho các tệp MKV và WebMmp3vàMP2/3 (MPEG audio layer 2/3)cho âm thanh MP3wavvàWAV / WAVE (Waveform Audio)cho âm thanh WAVmpegvàMPEG-PS (MPEG-2 Program Stream)cho luồng chương trình MPEG-2, có thể kết thúc bằng .mpgpng_pipevàpiped png sequencecho hình ảnh PNG
Một số bản FFmpeg được biên dịch mà không bao gồm tên dài. Khi đó tên dài có thể hiện là unknown hoặc không có.
Giá trị đến từ đâu
Tệp không lưu trữ tên định dạng của nó. FFmpeg đọc phần đầu tệp và cho mỗi định dạng mà nó biết một điểm số. Nó chọn định dạng có điểm số cao nhất, và trường probe score hiển thị điểm số đó.
Phần mở rộng tệp chỉ quan trọng khi phép kiểm tra này cho kết quả yếu hoặc khi một định dạng không có phép kiểm tra. Tài liệu FFmpeg cảnh báo rằng đoán định dạng từ phần mở rộng là không đủ đáng tin cậy.
Vì sao một tệp MP4 có thể hiển thị QuickTime
Một tệp MP4 hiển thị tên định dạng mov,mp4,m4a,3gp,3g2,mj2 và tên dài QuickTime / MOV. Điều này là bình thường và không có nghĩa là tệp đó là tệp MOV. FFmpeg dùng một demuxer cho 6 định dạng có liên quan, nên cùng các giá trị này xuất hiện trên các tệp MOV, MP4, M4A, 3GP, 3G2 và MJ2.
Các định dạng này có liên quan vì MP4 bắt nguồn từ định dạng ISO base media file, và định dạng đó lại bắt nguồn từ định dạng tệp QuickTime. MP4 và QuickTime có liên quan, nhưng chúng có khác biệt, nên không phải lúc nào cũng có thể thay thế cho nhau.
Các tệp này cũng có thể có thẻ major_brand. FFmpeg xem giá trị qt là tệp QuickTime và các giá trị khác là tệp ISO base media.
Những tệp nào chứa nó
Tên định dạng xuất hiện trên các tệp mà FFmpeg có thể mở như đa phương tiện: video, âm thanh và nhiều định dạng hình ảnh. Nếu ffprobe không nhận diện được tệp là tệp đa phương tiện, nó trả về lỗi và sẽ không có tên định dạng. Với các tệp này, hãy xem trường Loại tệp thay vào đó.
FFmpeg cũng gán tên định dạng cho các tệp không có container thông thường. Ví dụ, một tệp MP3 là một luồng các khung âm thanh, thường có thẻ ID3.
Tại sao điều này quan trọng đối với tệp của bạn
Điểm số cao được ưu tiên hơn tên tệp, nên tên định dạng thường cho thấy container mà tệp thực sự sử dụng. Nếu một tên tệp kết thúc bằng .mp3 nhưng tên định dạng là wav, tệp đó bắt đầu bằng header WAV. Khi đó tên tệp không phù hợp với nội dung.
Tên định dạng không phải lúc nào cũng cho bạn biết tệp dùng codec nào. Codec Long Name mô tả cách một luồng bên trong container được mã hóa, nên mỗi luồng có một tên riêng.
Ví dụ, một tệp MP4 có thể chứa video ở AVC (H.264), AV1 hoặc VP9, và âm thanh ở AAC, FLAC hoặc Opus. Vì vậy cùng một tên định dạng có thể xuất hiện trên các tệp dùng codec khác nhau.