2009-04-20 23 views
16

Tôi thường phải viết thông số kỹ thuật để chuyển đổi video cho một số nhà sản xuất video mà khách hàng của công ty tôi làm việc. Thật không may, tôi là một lập trình viên đầu tiên và "video-guy" ở bên cạnh, vì vậy tôi không biết quá nhiều về tất cả các codec khác nhau.Codec video lossless tốt là gì?

Tôi đang tìm một codec lossless tốt là cả hai nền tảng (Win và Mac) và ứng dụng chéo (Adobe, Apple, v.v.).

+3

Bạn nhận ra mất mát sẽ chạy bạn ... một vài gb/phút ...? – CookieOfFortune

+0

Tôi không biết có bộ giải mã không mất dữ liệu ... Đây có phải là bộ phận theo dõi hoạt động của não hay không? Tôi có thể tưởng tượng, đôi khi họ thực sự cần video để lưu trữ mà không bị mất nén ... hmmm ... –

+13

Nén không cần thiết thường là cần thiết khi bạn không thể thực hiện tất cả việc chỉnh sửa/xử lý hình ảnh trong một bước nhưng cần kết quả chất lượng cao . Nếu bạn đang nén kết quả của từng bước, hình ảnh bị suy giảm nghiêm trọng (thậm chí ở mức nén băng thông cao thực sự mất dữ liệu từ góc độ pixel), điều này có thể khiến bước tiếp theo không thể thực hiện được vì chi tiết ban đầu đã biến mất. Chỉ có video cuối cùng được nén với một sơ đồ nén mất dữ liệu. – David

Trả lời

18

huffyuv chắc chắn là giải pháp đơn giản nhất và bạn sẽ tìm thấy một số triển khai đa nền tảng như thư viện C chẳng hạn.

Nó dễ dàng được đóng gói trong các tệp AVI và có thể đọc được bởi các trình phát chính.

nét Format nếu bạn cần phải tương tác với nó: http://multimedia.cx/huffyuv.txt

+0

Tôi sẽ kiểm tra điều này - cảm ơn phản hồi của bạn! –

1

Có một vài codec khác nhau mà sẽ làm nền tảng chéo.

Cineform là tốt nhất. Nó có cả phiên bản 444 và phiên bản RAW.

Nếu bạn không quan tâm đến không gian được chụp và phát lại trong thời gian thực, bạn có thể sử dụng chuỗi hình ảnh.

Apple Pro-res giờ đây có thể được đọc trên cả Mac và PC. Tuy nhiên, mã hóa không thể được thực hiện bởi máy tính.

Bạn có nghĩa là mất mát trực quan hoặc mất mát không?

0

Nếu bạn muốn toán học không bị mất, tôi sẽ đề xuất một cái gì đó như Motion JPEG2000, có tùy chọn nén không mất dữ liệu nhưng không có hỗ trợ rộng trong việc chỉnh sửa ứng dụng.

Nếu bạn muốn hỗ trợ giữa Final Cut Pro của Apple và Adobe Premier, tôi sẽ sử dụng 444 không nén nếu bạn đang thực hiện bất kỳ sự kết hợp nào, hoặc 422 nếu bạn không thực hiện.

16

tổn thất về mặt toán học để nén tốt nhất: x264. dễ dàng 1/3 huffyuv mọi lúc.

không bị mất thị giác, x264 với bộ định lượng 1-5 hoặc có thể lên đến 10. 1-5 là rất mất dữ liệu mà thậm chí không thể làm sắc nét nó mà bạn có thể thấy hiện vật.

+9

Hãy coi chừng! Đó là một codec tốt, và có thể là "trực quan" lossless tại một số cài đặt cho một số mắt, nhưng nếu bạn đang tìm kiếm bảo tồn dữ liệu lossless đúng, đây không phải là nó. – meetar

+9

@meetar no, nó là lossless nếu bạn thiết lập quantizer bằng không. Nó thậm chí còn có một lá cờ cho điều đó! Và thông thường chúng ta đang nói về YV12 (4: 2: 0) nhưng có thể vượt qua 4: 4: 4 thành lossless quá, không biết về 24-bit RGB nhưng thành thật mà nói, tôi không bao giờ cần đến sự mất cân bằng đó. Điều này là H.264 cho phép lossless (và bất kể hỗ trợ thực tế trong x264 chính nó, tôi khá tự tin nó cho phép một không gian màu RGB). –

+7

Tôi đã sửa chữa! Bài học kinh nghiệm: chỉ vì [nhà xuất khẩu ưa thích của bạn] không cho phép nó không có nghĩa là codec không thể làm được. – meetar

1

Bộ mã hóa dirac (schroedinger) hỗ trợ nén lossless hiệu quả hơn nhiều so với huffyuv và được GStreamer và libav hỗ trợ. Trong GStreamer, tùy chọn là tỷ lệ kiểm soát = 3 đối với người được chỉ định:

gst-launch-0.10 filesrc location="$1" ! decodebin2 name=demux \ 
{ matroskamux name=mux ! filesink location="$2" } \ 
{ demux. ! queue ! audioconvert ! vorbisenc quality=0.5 ! queue ! mux. } \ 
{ demux. ! queue ! schroenc rate-control=3 ! mux. } 
Các vấn đề liên quan