Chi tiết luồng đầu ra video từ ffmpeg có nghĩa là gì?


10

Khi bạn chạy ffmpeg -ivới tệp video làm tham số đầu vào, ffmpeg trả về một số chi tiết của loại luồng, như codec, bitrate và độ phân giải. Các dữ liệu khác có nghĩa là gì - "tbr", "tbn" và "tbc"? Từ ví dụ của tôi dưới đây, bạn có thể thấy rằng chúng thay đổi rất nhiều.

Stream #0.0(und): Video: h264, yuv420p, 1280x720, 25 tbr, 25 tbn, 50 tbc

Stream #0.0(eng): Video: h264, yuv420p, 640x480, 22050 tbr, 22050 tbn, 44100 tbc

Stream #0.1: Video: wmv3, yuv420p, 1280x720, 4000 kb/s, 29.97 tbr, 1k tbn, 1k tbc

Câu hỏi phụ: tại sao bitrate không luôn được hiển thị?

Câu trả lời:


6

Những gì bạn thấy là đối ứng của các cơ sở tem thời gian được sử dụng trong FFmpeg và bộ giải mã en /. Tôi không thể giải thích nó tốt hơn, do đó chỉ trích dẫn danh sách gửi thư FFmpeg :

TBN là cơ sở thời gian trong AVStream rằng đã đến từ container, tôi nghĩ. Nó được sử dụng cho tất cả các tem thời gian AVStream.

tbc là cơ sở thời gian trong AVCodecContext cho codec được sử dụng cho một luồng cụ thể. Nó được sử dụng cho tất cả AVCodecContext và tem thời gian liên quan.

tbr được đoán từ luồng video và là giá trị mà người dùng muốn thấy khi họ tìm tốc độ khung hình video, ngoại trừ đôi khi nó gấp đôi những gì người ta mong đợi vì tốc độ trường so với tốc độ khung hình.

Cuối cùng, bạn muốn lấy tbr làm giá trị mà người ta thường gọi là "tốc độ khung hình".

Tốc độ bit không phải lúc nào cũng được hiển thị vì các luồng video có thể chứa nội dung bitrate thay đổi - trong trường hợp đó, bạn thực sự không thể ước tính tốc độ bit. Đối với các luồng bitrate không đổi, bitrate thường được hiển thị. Có một số trường hợp sử dụng bitrate biến và FFmpeg hiển thị mức trung bình - ít nhất là với video h.264, điều này đôi khi hoạt động.

Video: h264, yuv420p, 640x480, 22050 tbr, 22050 tbn, 44100 tbc rõ ràng giống như một luồng âm thanh

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.