Từ điển

Tên định dạng là gì?

Tên định dạng cho biết tệp đa phương tiện của bạn dùng định dạng container nào, ví dụ như MP4 hoặc WAV. Tên Định Dạng Đầy Đủ mô tả cùng định dạng đó bằng các từ dễ đọc hơn.

format-name

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,mj2 và QuickTime / MOV cho các tệp MP4, MOV và M4A
  • matroska,webm và Matroska / WebM cho các tệp MKV và WebM
  • mp3 và MP2/3 (MPEG audio layer 2/3) cho âm thanh MP3
  • wav và WAV / WAVE (Waveform Audio) cho âm thanh WAV
  • mpeg và MPEG-PS (MPEG-2 Program Stream) cho luồng chương trình MPEG-2, có thể kết thúc bằng .mpg
  • png_pipe và piped png sequence cho 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.