Chỉ có một vài tốc độ khung hình video tiêu chuẩn?


11

Trong video kỹ thuật số hiện đại, một tệp video có thể được đánh dấu với bất kỳ tốc độ khung hình tùy ý? Hoặc chỉ có một vài tốc độ khung hình cụ thể được hỗ trợ rộng rãi? Theo "hiện đại", ý tôi là những người chơi phần mềm như Quicktime, VLC, Roku, máy chơi game, v.v. Tôi tò mò cả những gì các tiêu chuẩn video tự nói là cho phép tốc độ khung hình và sau đó những gì thực sự hoạt động trong thực tế.

Tôi hiểu rằng 24 khung hình / giây, 25 khung hình / giây, 30 khung hình / giây, 50 khung hình / giây và 60 khung hình / giây là các tiêu chuẩn được hỗ trợ rộng rãi. HandBrake cũng cung cấp 5, 10 và 15; là những lựa chọn tiêu chuẩn? Tôi có thể sử dụng bất kỳ số FPS nào tôi muốn không? Và những gì về tỷ lệ không nguyên như 23.976 và 29.97; họ thực sự được đối xử khác nhau bởi phần mềm hơn 24 và 30? Ngoài ra tôi thấy các tham chiếu đến "tốc độ khung hình thay đổi" trong các luồng H.264; Điều đó thực sự hoạt động và nếu vậy, những gì sử dụng nó?

Câu hỏi cụ thể của tôi là cách tốt nhất để mã hóa một số lần quét phim 8 mm. Nguồn là 16 khung hình / giây, tiêu chuẩn phim 8 mm. Hiện tại tôi đang tăng gấp đôi mọi khung hình khác để tăng tốc lên 24 khung hình / giây, nhưng tôi tự hỏi tại sao tôi không thể đánh dấu video là 16 khung hình / giây. FWIW Tôi đã tạo các tệp mp4 H.264 với Handbrake ở tốc độ 15 khung hình / giây và thấy chúng chỉ phát lại chính xác trong VLC. Mac Quicktime đã chơi chúng quá nhanh, có thể là 24 khung hình / giây.

Câu trả lời:


11

Có một số tốc độ khung hình "tiêu chuẩn", nhưng có rất nhiều tốc độ mà việc hỗ trợ khung hình tùy ý dễ dàng hơn là hỗ trợ cụ thể cho nhiều tốc độ cụ thể. Điều này đặc biệt đúng đối với người chơi phần mềm, như VLC.

Ngày càng có nhiều hỗ trợ cho các khung hình VARIABLE. (VFR, tốc độ khung hình thay đổi). Đây là nơi khoảng thời gian giữa các khung hình trong cùng một video không phải là hằng số. Nhiều định dạng tệp chứa video (như Matroska ( .mkv) hoặc MPEG-4 ( .mp4, có liên quan chặt chẽ với Apple .mov)) thậm chí không lưu trữ số FPS, mà thay vào đó là cơ sở thời gian (ví dụ: 1/30 giây), sau đó mỗi khung hình có dấu thời gian là bội số của cơ sở thời gian đó. Nó chỉ xảy ra rằng khoảng thời gian giữa mỗi khung hình là một hoặc một số lượng nhỏ đơn vị cơ sở thời gian trong video CFR (tốc độ khung hình không đổi).

Cảnh quay camera an ninh với các khung hình gần như bị trùng lặp sẽ là trường hợp sử dụng rõ ràng cho VFR. Ngay cả khi nó được nén với một codec video đơn giản mà không tận dụng tốt sự dư thừa tạm thời (với các khung (p và b)). (chơi xung quanh ffmpeg -vf mpdecimateđể giảm các khung hình gần như song công. Sử dụng -vsync 2nếu xuất ra mp4, vì một số lý do, nó không phải là mặc định cho muxer đó, nhưng nó là cho mkv.)

Một trường hợp khác là điện thoại thông minh hiện đại. Ví dụ: Moto G (thế hệ 2) của anh tôi ghi lại video VFR. Nó làm giảm tốc độ khung hình khi cảm biến cần nhiều ánh sáng hơn. Một số đầu ra từ việc chạy mediainfo trên mp4 được tạo bởi phần mềm điện thoại, được ghi trong nhà:

Bit rate                                 : 9 999 Kbps
Width                                    : 1 280 pixels
Height                                   : 720 pixels
Display aspect ratio                     : 16:9
Rotation                                 : 90°
Frame rate mode                          : Variable
Frame rate                               : 16.587 fps
Minimum frame rate                       : 14.985 fps
Maximum frame rate                       : 30.030 fps

Phát lại một luồng video VFR không khó. Phần mềm chỉ cần có khung hình tiếp theo sẵn sàng để hiển thị, ngủ cho đến khi nó được hiển thị, sau đó thức dậy và hiển thị nó.

Mọi thứ trở nên phức tạp hơn một chút khi bạn tính đến thực tế là con người chỉ có thể nhìn thấy các khung hình video khi màn hình hiển thị chúng. Màn hình VFR tồn tại, nhưng vẫn còn hiếm. (google cho g-sync freesync).

Thay đổi hình ảnh được hiển thị trong khi nó được quét ra màn hình dẫn đến việc xé video xấu xí (thường thấy khi chơi trò chơi tắt vsync). Điều này giới hạn người chơi thay đổi hình ảnh hiển thị ở 50 hoặc 60Hz. (CRT hỗ trợ tốc độ vrefresh tùy ý, trong một phạm vi, nhưng rất khó để nấu các chế độ với tất cả các thời gian chính xác, vì vậy hầu hết mọi người chỉ sử dụng một vài tốc độ làm mới cố định. Và bây giờ mọi người có màn hình LCD chỉ hỗ trợ tốc độ làm mới cố định. Màn hình freesync vẫn phổ biến rộng rãi hơn. Tôi thực sự mong đợi điều đó. :)

Vì vậy, với tốc độ khung hình video không phải là một hoặc nhiều yếu tố của tốc độ làm mới màn hình, một số khung hình sẽ được hiển thị cho 3 lần làm mới màn hình, và một số cho 2, ví dụ, ngay cả khi video có nghĩa là ở mức 25FPS không đổi (trên màn hình 60Hz).

Mọi thứ trở nên phức tạp hơn khi bạn muốn làm việc với nhiều clip và mờ dần giữa chúng, hoặc hình ảnh trong ảnh hoặc nhiều hiệu ứng khác. Việc viết phần mềm chỉnh sửa video sẽ dễ dàng hơn rất nhiều nếu bạn có thể cho rằng tất cả các clip đều có khung mới cùng một lúc. (Họ buộc căn chỉnh clip để chụp vào toàn bộ khung).

Đây là lý do tại sao các NLE (như kdenlive hoặc pitivi, để chọn các ví dụ phần mềm miễn phí ngẫu nhiên), có nhiều khả năng buộc bạn phải cố định FPS và thả / sao chép khung hình từ các clip của bạn để làm cho chúng khớp với tốc độ khung hình đó. CFR bạn chọn có thể tùy ý, nhưng nó thường phải là hằng số cho toàn bộ "dự án".

(Có bất kỳ NLE nào hoạt động hoàn toàn với clip VFR và tạo đầu ra VFR trong trường hợp đó không?)

Vì vậy, tóm lại, một khi chúng ta có màn hình và hệ điều hành đồng bộ hóa biến, điều duy nhất giữ chúng ta lại là chỉnh sửa video, tôi đoán vậy. Và phát sóng, vì rõ ràng CFR cũng là một vấn đề lớn cho điều đó?

Trong trường hợp bạn đang tự hỏi, 29.970 (thực tế là 30000/1001) và 23.976 (thực tế là 24000/1001, từ telecining) tốc độ khung hình không nguyên là phiền toái của NTSC màu. tìm kiếm 1.001 . Nếu chỉ họ sẵn sàng mạo hiểm với một vài bộ B & W không thể xử lý thêm 0,1% tần số cho sóng mang âm thanh, thế giới sẽ không bị ảnh hưởng bởi điều này. (Tôi nghĩ rằng tôi đã thấy một bài viết khác ở đâu đó khiến nó nghe giống như nhiều bộ sẽ ổn, nhưng họ không chắc chắn về compat hoàn hảo. Wikipedia làm cho nó có vẻ như không có bộ nào xử lý sóng mang âm thanh cao hơn 0,1%. IDK sự thật.)

Mặc dù vậy, tốc độ khung hình gây phiền nhiễu là một trong những tội ít phát sóng hơn. Nó thực sự xen kẽ đó là nguyên nhân của chất lượng video trên màn hình hiện đại (tất cả các pixel được chiếu sáng cùng một lúc) và điều đó sẽ không thay đổi. Tôi vẫn không hiểu tại sao xen kẽ được giữ xung quanh cho HDTV. Tại sao 1080i60 đã từng được xác định, thay vì sử dụng 720p60 để có cùng độ phân giải thời gian cho thể thao và nội dung? Nó tương tự như 1920x540p60, nhưng với phần bù dọc ngu ngốc giữa các trường lẻ và chẵn đòi hỏi nhiều tính toán ở đầu nhận để khiến nó trông không tệ.

biên tập:

Đối với trường hợp sử dụng của bạn, tôi hoàn toàn khuyên bạn nên lưu trữ ở FPS gốc. Đừng vứt bỏ bất kỳ thông tin bằng cách thả khung. Không ghép các khung và làm cho các tệp của bạn lớn hơn (hoặc làm cho bộ mã hóa h.264 của bạn dành nhiều thời gian hơn để nhận thấy các bản sao và xuất ra một khung chứa đầy các macroblocks bỏ qua chỉ mất 20 byte cho toàn khung).

Trong tương lai khi chúng tôi hy vọng tất cả đều có màn hình freesync có thể phát bất kỳ tốc độ khung hình nào, bạn sẽ muốn hoàn tác pullup của mình lên 24fps để video của bạn phát mượt mà hơn! Hoặc nếu freesync bằng cách nào đó không bắt kịp hoặc màn hình xuất hiện sau LCD là CFR, thì chuyển đổi tốc độ có thể được thực hiện tốt nhất vào lúc phát lại. Nó không giống như 24fps thậm chí chơi hoàn hảo trên màn hình 60Hz. (Tôi không để ý một cách trực quan rằng một số khung hình được hiển thị cho 3 * 1/60 trong khi một số khung hình được hiển thị cho 2 * 1/60, nhưng đó là sự thật).

Nếu bạn gặp vấn đề với Quicktime, thì IDK. Có thể đảm bảo Handbrake đang tạo các tệp với tốc độ khung hình phù hợp được đặt trong dòng bit h.264, cũng như vùng chứa. (Vâng, h.264 tiêu đề rõ ràng có thể lưu trữ một tỷ lệ khung hình, tách biệt với những gì container nói. Xem tài liệu cho mkvmerge --fix-bitstream-timing-information. Và cố gắng sử dụng nó với --default-duration 16fpsđể làm cho một tập tin mkv. Sau đó MUX lại cho rằng mp4 và thấy rằng nếu sửa quicktime? ) Hoặc có thể có một cách để làm điều đó với các công cụ mp4 ở nơi đầu tiên. Xem ví dụ: https://askubfox.com/questions/370692/how-to-change-the-framerator-of-a-video-without-reencoding

Tôi có thể đảm bảo rằng tốc độ khung hình mp4 tùy ý là hợp lệ và thậm chí cả tốc độ khung hình mp4 biến đổi cũng hợp lệ. Nếu Quicktime chơi sai, đó cũng có thể là lỗi của Quicktime. Hoặc có thể lỗi của Handbrake vì làm cho tệp sai. Tôi thường chỉ sử dụng ffmpeg trực tiếp, vì tôi là ninja dòng lệnh.


2

Để trả lời câu hỏi của bạn - có, bạn thường có thể mã hóa tệp video theo bất kỳ tốc độ khung hình nào bạn muốn. (Mặc dù một số phần mềm có thể chọn giới hạn bạn để làm cho phần mềm đơn giản hơn.) Câu hỏi đặt ra là định dạng phân phối bạn chọn có hỗ trợ hay không và thiết bị phát lại có hỗ trợ không?

Nếu bạn có phim 8 mm ở 16 khung hình / giây, tôi sẽ mã hóa nó ở 16 khung hình / giây nếu tôi biết các thiết bị phát lại mà tôi muốn hỗ trợ có thể xử lý nó. Nếu không, có lẽ tôi sẽ sử dụng phần mềm hỗ trợ luồng quang (đôi khi được gọi là ước tính chuyển động) để mã hóa ở tốc độ 24 khung hình / giây, có khả năng tốc độ khung hình gần nhất có thể được hỗ trợ bởi phần mềm mã hóa, phần mềm giải mã và phần lớn phát lại.

Phần mềm (hoặc phần cứng) hỗ trợ luồng quang sẽ tạo ra các khung ở giữa dựa trên chuyển động của các đối tượng trong video của bạn. Thay vì lặp lại một khung hình hoặc thậm chí trộn lẫn 2 khung hình, nó tạo ra một khung hình mới thường khá gần với những gì thực sự được ghi lại nếu bạn đã ghi lại ở tốc độ khung hình đầu ra.


Tôi đã mã hóa ở tốc độ khung hình gốc, để tránh vứt bỏ bất kỳ thông tin nào hoặc sao chép bất kỳ khung hình nào để tạo thêm công việc cho codec. Ngoài ra, trong tương lai, chúng tôi hy vọng tất cả đều có màn hình freesync có thể chơi bất kỳ tốc độ khung hình nào. Nếu không, chuyển đổi tốc độ có thể được thực hiện tốt nhất tại thời điểm phát lại, đặc biệt. nếu chúng ta đang nói về thời gian lưu trữ.
Peter Cordes

2

Theo lịch sử 24 FPS đến từ kino (phim). Bộ phim ở dạng phototape và tốc độ được chọn để làm cho chuyển động mượt mà.

25 FPS đến từ tần số năng lượng ở châu Âu, 50 Hz (50 FPS là từ cùng một nguồn, nhưng thực tế là gấp đôi nó). Thực tế TV ở châu Âu là 50 FPS nhưng một nửa khung hình, chúng được đặt xen kẽ

30 FPS đến từ tần số năng lượng ở Mỹ, 60 Hz (60 FPS là từ cùng một nguồn, nhưng thực tế là gấp đôi nó). Trên thực tế TV ở Mỹ là 60 FPS nhưng một nửa khung hình, chúng được đặt xen kẽ

16 FPS không phải là trải rộng như tiêu chuẩn cho các mục đích chuyên nghiệp, vì vậy có lẽ đó là lý do nó không được sử dụng trong hầu hết các phần mềm hiện tại. Hơn nữa FPS như vậy sẽ không "mượt" đủ chuyển động nhanh. Tôi có một ý tưởng điên rồ là làm thế nào bạn có thể tạo 16 FPS để phù hợp hơn 24. Juts có được mọi khung hình chẵn và lẻ và tạo ra thứ gì đó như trung bình giữa chúng :)


Cảm ơn bạn đã giúp đỡ nhưng nó không trả lời câu hỏi của tôi. Tôi biết về nguồn gốc của 24, 25, 50 và 60. Điều tôi đang hỏi là liệu các khung hình khác có thể hoạt động hay không.
Nelson

1

Có các tiêu chuẩn video truyền hình và phim mà hầu hết các video phù hợp. Một máy tính thường có thể hiển thị video từ nhiều khung hình, tuy nhiên một số TV có thể gặp rắc rối với tốc độ khung hình bóng lẻ vì chúng có thể sử dụng mạch hiển thị chuyên dụng hơn. Ngay cả trên máy tính, tốc độ khung hình thực sự hiển thị có thể không khớp với tốc độ của tệp video, tùy thuộc vào tốc độ làm mới được hỗ trợ của màn hình.

Có, tốc độ khung hình không nguyên được hiển thị khác nhau. Chúng được gọi là khung thả và chúng tồn tại chủ yếu vì lý do di sản. Khi được phát lại, một khung hình sẽ bị loại bỏ (từ mã thời gian) thường xuyên để tạo ra sự khác biệt về thời gian và các khung hình được trải đều ở tốc độ phù hợp để giữ cho nó mượt mà. Điều này nhiều hơn phải làm với các công cụ đồng bộ hóa trong các định dạng cũ và ngăn chặn các vấn đề đồng bộ hóa không còn phù hợp.

Bạn có thể sử dụng tốc độ khung hình không chuẩn và nó sẽ phát lại tốt trên PC nhưng nó không phù hợp với video tiêu chuẩn cho những thứ như Bluray và có thể không phát lại tốt trên một số TV. (Và ngay cả trên những cái mà nó hoạt động, nó có thể sẽ kéo xuống theo thời gian thực để tuân theo tốc độ khung hình tiêu chuẩn, khi mà một pulldown được thực hiện trước có thể sẽ mang lại chất lượng tốt hơn.)


@ user1118321 có, và cảm ơn bạn đã chỉ ra nó có thể rõ ràng hơn.
AJ Henderson

-1

Câu hỏi của bạn không phải là về tỷ lệ phổ biến, mà là về tỷ lệ bạn nên sử dụng để số hóa bộ phim của mình. Câu trả lời: bạn nên sử dụng tỷ lệ ban đầu nếu có thể, vì bạn muốn bảo toàn nguồn ở dạng kỹ thuật số. Sau đó, bạn có thể chuyển đổi nó thành bất kỳ tốc độ khung hình nào bạn cần để xem. Trong thời xa xưa, nó thường có nghĩa là 24 khung hình / giây để trình bày sân khấu và 29,97 hình / giây, xen kẽ cho video. Ngày nay bạn có thể làm hầu hết mọi thứ, nhưng bạn cần phải có một nguồn tốt, phù hợp với bản gốc càng sạch càng tốt.


Không, câu hỏi của tôi là về tỷ lệ phổ biến. Và đã được trả lời thỏa đáng từ nhiều năm trước.
Nelson

-3

Một vài lưu ý khác. Đầu tiên, 48 khung hình / giây đang trở nên phổ biến và phổ biến hơn nhờ The Hobbit và giờ là hỗ trợ của YouTube cho tốc độ khung hình. Thứ hai, 30 khung hình / giây thường là 29,97 khung hình / giây và 60 thường là khoảng 59,94.


2
Trên thực tế, 30 không phải lúc nào cũng có nghĩa là 29,97. Đôi khi nó thực sự là 30. Tương tự với 24. 23,98, 24, 29,97, 30, 50, 59,94 và 60 đều hoàn toàn hợp lệ, tốc độ khung hình được sử dụng phổ biến. Những cái có số thập phân trong chúng có nghĩa là tương thích với truyền hình phát sóng ở nhiều quốc gia khác nhau, nhưng chúng vẫn là trò chơi công bằng trên mạng nội bộ. Tuy nhiên, một số nhà sản xuất máy quay video "nói dối" về tốc độ khung hình của họ. Một máy ảnh được đánh dấu 24p thực sự có thể cung cấp 23,98 trong một nỗ lực nhằm giải phóng người tiêu dùng cả vấn đề đau đầu về dải và các chi tiết kỹ thuật đằng sau nó.
Jason Conrad

@JasonConrad Tốc độ khung hình không phải lúc nào cũng làm tròn số thập phân, nhưng đối với hầu hết các máy ảnh tiêu dùng thì chúng là.
KC McLaughlin

@KCMcLaughlin - thực sự, ngày càng có nhiều khả năng các thiết bị quét lũy tiến sẽ giảm khung hình thả xuống và chỉ cần tăng tốc độ khung hình nguyên. 29.97 và 23.976 hoàn toàn là di sản vào thời điểm này và ngày càng được thay thế bằng tốc độ khung hình nguyên.
AJ Henderson

@KCMcLaughlin Màu NTSC chưa bao giờ là 29,97fps. Nó đã và vẫn là 30000/1001. Tương tự, nội dung 24p được truyền hình trên màu NTSC sẽ thực sự là 24000/1001. Ngoài ra, máy ảnh kỹ thuật số của tôi (lumix) ghi lại 30 khung hình / giây, không phải 30 / 1.001. A / V sẽ không đồng bộ nếu tôi phát lại một số khung hình khác nhau cho mỗi 48 âm thanh.
Peter Cordes
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.