2012-05-17 34 views
5

Tôi đang nhận luồng MJPEG từ máy ảnh của mình. Khi tôi nhìn vào các dữ liệu video với một trình soạn thảo hex có vẻ như nó không chứa bất kỳ thông tin trực tuyến nào. Tôi chỉ nhìn thấy một JPEG thô sau khi khác, nhưng không có thông tin về tốc độ khung hình, vv.Thông tin luồng MJPEG

Việc thiếu thông tin meta nào bình thường đối với MJPEG hay chỉ liên quan đến máy ảnh tôi đang sử dụng? Nếu không có thông tin về luồng, người chơi có thể biết cách phát video nhanh như thế nào?

Trả lời

6

Việc thiếu siêu dữ liệu là bình thường. Máy ảnh IP thường gửi MJPEG như vậy, một hình ảnh JPEG sau một hình ảnh khác dưới dạng luồng. Đây là tệp MJPEG hợp lệ cơ bản nhất. Nếu bạn đã lấy một bó của jpegs, mèo chúng lại với nhau thành một tập tin lớn, khổng lồ, và nạp nó vào ffmpeg, nó sẽ thấy nó như là một tập tin định dạng mjpeg hợp lệ. Một số máy ảnh sẽ thêm tiêu đề bổ sung để chứa dữ liệu âm thanh, nhưng không cần thiết phải được coi là jpeg chuyển động hợp lệ.

Nhiều máy ảnh sẽ bao gồm tiêu đề như X-Tốc độ khung hình, trong tiêu đề HTTP khi luồng được gửi ban đầu hoặc bạn có thể đặt nó làm một phần của cấu hình máy ảnh. Tuy nhiên, khi một máy ảnh chỉ gửi jpegs, không có cách nào để nói từ dòng chính nó tốc độ khung hình là gì.

0

Thông thường dữ liệu MJPEG được gửi trong một trình bao bọc phương tiện truyền trực tuyến như AVI hoặc MOV (quicktime). Định dạng trình bao bọc sẽ chứa tốc độ khung hình và thông tin về dữ liệu âm thanh tùy chọn.

+0

Nhưng dữ liệu MJPEG thô không chứa thông tin như vậy? – Toby

+0

Bạn đã kiểm tra siêu dữ liệu trong luồng JPEG (ví dụ: điểm đánh dấu APPxx) cho thông tin chưa? Đăng một khung mẫu và tôi sẽ phân tích nó. – BitBank

3

Việc thiếu thông tin meta nào bình thường cho MJPEG hay chỉ liên quan đến máy ảnh tôi đang sử dụng? Nếu không có thông tin về luồng, người chơi có thể biết cách phát video nhanh như thế nào?

Để thêm vào đã trả lời, máy ảnh IP là nguồn và video trực tiếp thường được trình bày ngay khi chúng đến từ máy ảnh. Camera IP hiếm đính kèm thêm thông tin khung hình khác với kích thước nổi tiếng (một số thậm chí không làm điều này! Họ chỉ gửi dữ liệu và dấu phân cách). Một số vẫn gắn tem thời gian và dữ liệu phụ như trạng thái phát hiện chuyển động.

Hầu hết các camera IP không làm tốc độ khung hình không đổi. Đó là, tốc độ khung hình có thể thay đổi, đặc biệt. thấp hơn trong điều kiện ánh sáng yếu. Đó là trách nhiệm của bên nhận để đính kèm mỗi khung thời gian tem khi ghép kênh dữ liệu thành định dạng vùng chứa. Dấu thời gian có thể được phục hồi từ siêu dữ liệu (hiếm khi tồn tại) hoặc - thường xuyên hơn - tem nhận một khung với thời gian nhận cục bộ.

Đây là cách để trình phát phát lại chuỗi video theo đúng tỷ lệ. Nguồn cấp dữ liệu trực tiếp thường được trình bày trên cơ sở "hiển thị khung nhận được càng sớm càng tốt".