ffmpeg transcode hai lần nén thêm?


0

Tôi có một bộ sưu tập các video avi ( nói A ).

Trước tiên tôi chuyển đổi chúng thành MPEG4 Part2 (giả sử B ) ffmpeg -i ${inname} -vf scale=340:256,setsar=1:1 -q:v 1 -c:v mpeg4 -g 12 -f rawvideo ${outname}. Tổng kích thước tệp là 3,5G.

Sau đó, sử dụng B làm đầu vào, tôi áp dụng cùng một lệnh để chuyển mã B thành C , có kích thước 3.1G.

Tôi nghĩ BC có cùng định dạng và do đó nên có cùng kích thước tệp? Tại sao không và làm thế nào tôi có thể giải quyết nó để đảm bảo không mất thông tin trong quá trình chuyển mã thứ hai?


2
Chuyển mã luôn mất dữ liệu. Mã hóa video bị mất.
Mokubai

Cảm ơn. Nhưng BC có các định dạng giống nhau như kích thước khối, số khung hình p, v.v ... Có thể làm cho nó không bị mất - hãy xem xét chỉ sao chép B như C , phải không?
xin lỗi

Bằng cách đơn giản là sao chép video vào một container mới, vâng. Bằng cách chuyển mã, không. Ffmpeg hỗ trợ sao chép bằng cách sử dụng-c:v copy
Mokubai

Cảm ơn. Nhưng mục tiêu của tôi không chỉ là sao chép. Tôi muốn tìm hiểu những yếu tố dẫn đến sự mất mát này trong giai đoạn thứ hai và tôi muốn tránh mất chất lượng thứ hai như vậy khi tôi sử dụng các codec khác nhau.
xin lỗi

BTW, bằng cách sao chép video sang một thùng chứa mới, -c:v copybạn có nghĩa là, giả sử sao chép video từ H.264 sang MPEG4 Part2, định dạng vẫn có thể được thay đổi để phù hợp với MPEG4 Part2 nhưng không mất thông tin? Cảm ơn. Xin lỗi vì tôi chưa quen với việc nén video ... Tôi đoán câu trả lời là không vì tôi cần chỉ định -c:v mpeg4? hoặc tôi chỉ cần đặt tên đầu ra là .mp4?
xin lỗi

Câu trả lời:


1

Thủ tục của bạn giống như:

  1. (nguồn) A → B (kết quả)
  2. (nguồn) B → C (kết quả)

Mã hóa tổn thất tạo ra video khác với nguồn của nó, vì vậy các khung của B khác với các khung của A. Điều này có nghĩa là hai nguồn trong quy trình trên là khác nhau.

Tôi nghĩ B và C có cùng định dạng và do đó nên có cùng kích thước tệp? Tại sao không?

Bởi vì chúng được sản xuất từ ​​các video nguồn khác nhau.

Làm thế nào tôi có thể giải quyết nó để đảm bảo không mất thông tin trong quá trình chuyển mã thứ hai?

  • Sử dụng mã hóa lossless
  • hoặc không chuyển mã nhiều lần.

Cảm ơn. Tôi đã mô tả vấn đề / lý do thực tế dẫn đến câu hỏi này của tôi trong một câu hỏi khác về mất mã hóa thông tin . Bạn có thể xem?
xin lỗi
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.