Video Flash (.flv)

Adobe Tiêu chuẩn

Flash Video (FLV) là một định dạng vùng chứa do Macromedia và Adobe phát triển để cung cấp video và âm thanh đồng bộ qua web thông qua plugin trình duyệt Adobe Flash Player.

Kiểm tra & Siêu dữ liệu

Các hệ điều hành và trình phân tích tệp nhận dạng tệp FLV bằng cách kiểm tra chuỗi byte nhị phân đầu tệp:

Chọn hoặc thả tệp vào đây

Riêng tư - tệp không bao giờ rời khỏi thiết bị của bạn

Hoặc dán Ctrl+V
Cam kết bảo vệ quyền riêng tư, không truyền dữ liệu qua mạng: 0 byte được tải lên máy chủ bên ngoài. Toàn bộ quá trình xử lý diễn ra cục bộ trong hộp cát trình duyệt của bạn.

Chữ ký ở đầu tệp (mẫu byte nhận diện)

Các hệ điều hành và trình phân tích tệp nhận dạng tệp FLV bằng cách kiểm tra chuỗi byte nhị phân đầu tệp:

CHỮ KÝ HEX (OFFSET 0):

46 4C 56 01

BIỂU DIỄN ASCII: FLV

Tiêu chuẩn hóa: Adobe Systems Flash Video File Format Specification

Thông số kỹ thuật

Kiến trúc ContainerVùng chứa truyền phát dựa trên thẻ, gồm các thẻ dữ liệu âm thanh, video và tập lệnh được xen kẽ
NénVideo Sorenson Spark, VP6 hoặc H.264 với âm thanh MP3 hoặc AAC
Thứ tự byteThứ tự bit và byte lớn (big-endian)
Không gian màuYUV 4:2:0
Kênh & Cấu trúcÂm thanh mono và stereo cùng luồng video
Kích thước tối đaThông thường tối đa 1080p
Độ trong suốtHỗ trợ độ trong suốt của kênh alpha trong luồng video VP6
Truyền phát & Tăng dầnHỗ trợ nguyên bản truyền phát trực tiếp RTMP (Real-Time Messaging Protocol)

Ma trận so sánh kỹ thuật: FLV so với các đối thủ

Thuộc tính kỹ thuậtFLV (Hiện tại)MP4WEBMMKV
Hỗ trợ trình duyệt hiện nay0% (Đã bị loại bỏ hoàn toàn khỏi tất cả các trình duyệt hiện đại)Được hỗ trợ trên mọi trình duyệt (100%)Hỗ trợ trình duyệt hiện đại 100%Yêu cầu trình phát đa phương tiện trên máy tính để bàn
Tiêu chuẩn hóaĐặc tả độc quyền của AdobeTiêu chuẩn mở quốc tế ISO/IECTiêu chuẩn mở W3C / WebMTiêu chuẩn Matroska mã nguồn mở
Phát lại trên thiết bị di độngKhông được hỗ trợ sẵn trên iOS và Android hiện đạiĐược phần cứng hỗ trợ sẵnĐược phần cứng hỗ trợ sẵnĐược hỗ trợ qua VLC/ứng dụng của bên thứ ba
Độ trong suốt alphaĐược hỗ trợ qua codec On2 VP6Hạn chế (yêu cầu canvas hoặc WebCodecs)Hỗ trợ kênh alpha gốc (VP9)Được hỗ trợ trong luồng VP9/ProRes

Các dạng hỏng thường gặp và hướng dẫn khôi phục bằng mã hex

Video FLV đã tải xuống hiển thị tổng thời lượng là 'không xác định' và không thể kéo xem.

Nguyên nhân gốc rễ: Thiếu thẻ tập lệnh 'onMetaData' chứa các bảng dấu thời gian khung hình chính và kích thước tệp.

Khắc phục: Bổ sung các bảng khung hình chính còn thiếu bằng 'yamdi' (Yet Another MetaData Injector) hoặc chuyển đổi sang MP4 bằng File2File.app.

Phân tích bảo mật và các đường tấn công nhằm vào bộ phân tích cú pháp

Trình cắm Flash Player từng là một trong những thành phần phần mềm bị khai thác nhiều nhất trong lịch sử điện toán do các lỗi hỏng bộ nhớ trong ActionScript và phân tích cú pháp FLV.

Các véc-tơ tấn công đã biết

  • Lỗi sử dụng bộ nhớ sau khi giải phóng và tràn vùng nhớ heap trong công cụ phân tích cú pháp ActionScript 3 FLV (ví dụ: CVE-2015-5122).
  • Gói siêu dữ liệu AMF0/AMF3 bị lỗi có thể gây hỏng bộ nhớ trong trình phân tích dễ bị tấn công.
  • Tràn bộ đệm trong các quy trình giải nén Sorenson Spark cũ.

Biện pháp phòng thủ tốt nhất: Không bao giờ chạy các plugin Flash Player gốc. Chuyển mã các tệp FLV đã lưu trữ trực tiếp sang MP4 bằng FFmpeg trong môi trường cách ly.

Nguồn gốc lịch sử và các cột mốc

2020Adobe chính thức chấm dứt hỗ trợ Flash Player vào ngày 31 tháng 12 năm 2020, chấm dứt việc sử dụng FLV trên thực tế.
2005YouTube ra mắt bằng cách sử dụng FLV làm định dạng phân phối video độc quyền của mình.
2003Macromedia giới thiệu Flash Video cùng với Flash Player 7.

Ưu điểm & Lợi ích chính

  • Tiên phong trong lịch sử video trực tuyến phổ biến: cho phép phát lại video trên web mà không cần trình phát trên máy tính để bàn độc lập.
  • Hỗ trợ độ trong suốt alpha trong các luồng video bằng cách sử dụng codec On2 VP6.
  • Mức tải phụ của gói tin thấp được tối ưu hóa cho việc phát sóng video trực tiếp RTMP có độ trễ thấp.

Hạn chế & Nhược điểm kỹ thuật

  • Hoàn toàn lỗi thời và không được hỗ trợ trong tất cả các trình duyệt web hiện đại sau khi Flash Player ngừng hoạt động.
  • Yêu cầu mã hóa lại hoặc chuyển đổi vùng chứa sang MP4 để phát lại trên iOS, Android và TV thông minh.
  • Thiếu các tính năng vùng chứa hiện đại như âm thanh nhiều luồng và phát trực tuyến tốc độ bit thích ứng phản hồi.

Thông tin kỹ thuật thú vị

  • Video đầu tiên từng được tải lên YouTube ('Me at the zoo' vào tháng 4 năm 2005) được mã hóa và phân phối dưới dạng tệp FLV.
  • Chuỗi byte nhận dạng của Flash Video '46 4C 56 01' đánh vần ASCII 'FLV' theo sau là phiên bản vùng chứa 1.
  • Steve Jobs đã xuất bản bức thư ngỏ nổi tiếng 'Suy nghĩ về Flash' của mình vào năm 2010, điều này đã đẩy nhanh quá trình chuyển dịch của ngành từ FLV sang HTML5 MP4.

Các câu hỏi kỹ thuật thường gặp

Tại sao tôi không thể phát tệp FLV trên máy tính của mình nữa?

Adobe và tất cả các trình duyệt web lớn đã chính thức ngừng hỗ trợ Flash Player vào tháng 12 năm 2020 do các lỗ hổng bảo mật. Để phát tệp FLV ngày nay, hãy sử dụng trình phát đa phương tiện VLC hoặc chuyển đổi chúng sang MP4.

Tôi có thể chuyển đổi FLV sang MP4 mà không bị giảm chất lượng không?

Có thể chuyển các luồng H.264 và AAC tương thích từ FLV sang MP4 mà không mã hóa lại; thời gian tùy thuộc vào tệp và thiết bị.

Video FLV ban đầu sử dụng những codec nào?

Các tệp FLV đời đầu sử dụng Sorenson Spark (một biến thể của H.263) và sau đó là On2 VP6, trước khi Adobe thêm hỗ trợ cho chuẩn H.264 vào năm 2007.