Vì sao video bị quay ngang
Điện thoại xác định hướng dựa vào cảm biến chuyển động ngay lúc bạn bấm quay. Một số tình huống hằng ngày khiến nó bị nhầm:
- Bắt đầu quay khi điện thoại nằm phẳng trên bàn hoặc chĩa thẳng xuống dưới, lúc cảm biến không biết cạnh nào là cạnh trên.
- Khóa xoay màn hình đang bật khi bạn xoay điện thoại sang ngang.
- Xoay điện thoại giữa chừng đoạn quay. Hướng được cố định từ lúc bắt đầu và không đi theo động tác xoay.
- Camera hành trình, camera ô tô và drone được gắn lộn ngược.
Hầu hết điện thoại không thực sự xoay điểm ảnh. Chúng lưu hình ảnh đúng như cảm biến nhìn thấy và thêm vào tệp một cờ xoay nhỏ báo cho trình phát cách hiển thị. Trình phát tôn trọng cờ này sẽ hiển thị đúng; một số trình chỉnh sửa, TV đời cũ, trình phát web và quy trình tải lên bỏ qua nó, nên cùng một tệp trông ổn trên điện thoại nhưng lại nằm ngang ở mọi nơi khác.
Việc xoay được thực hiện thế nào
Công cụ này xoay chính các điểm ảnh và tạo ra một tệp MP4 mới không cần cờ nào cả.
- FFmpeg đọc video và áp dụng cờ xoay sẵn có trong tệp, nên điểm xuất phát là đoạn video như nó hiện ra trong một trình phát bình thường.
- Góc xoay bạn chọn được áp thêm lên đó: 90° xoay hình theo chiều kim đồng hồ, 270° xoay ngược chiều kim đồng hồ, 180° lật ngược.
- Video được mã hóa lại thành H.264 ở CRF 23 với màu chuẩn 8 bit 4:2:0 và ghi thành MP4 có chỉ mục ở đầu tệp.
- Âm thanh AAC được sao chép nguyên vẹn; mọi loại âm thanh khác được chuyển sang AAC ở 128 kbit/s.
Vì bước 1 dùng đúng những gì bạn nhìn thấy, hãy chọn góc bằng cách xem đoạn video trong trình phát quen thuộc của bạn:
- Đầu người hướng sang trái: chọn 90°.
- Đầu người hướng sang phải: chọn 270°.
- Hình bị lộn ngược: chọn 180°.
Xoay 90° hoặc 270° hoán đổi chiều rộng và chiều cao, nên tệp ngang 1920×1080 trở thành tệp dọc 1080×1920. Xoay 180° giữ nguyên kích thước. Công cụ chỉ xoay, không lật gương hình ảnh, nên video selfie có chữ bị ngược vẫn sẽ như vậy.
Chất lượng, dung lượng và tốc độ
Không thể xoay mà không mã hóa lại, vì mọi khung hình đều phải dựng lại theo hướng mới. CRF 23 là thiết lập chất lượng không đổi mà ở đó khác biệt so với bản gốc khó nhận ra khi xem bình thường, còn độ phân giải và tốc độ khung hình không đổi.
Trong trình duyệt, FFmpeg chạy dưới dạng WebAssembly với preset mã hóa fast. Hãy kỳ vọng tốc độ xấp xỉ thời gian thực trên laptop đời mới với 1080p, chậm hơn với 4K và trên điện thoại. Tùy chọn máy chủ dùng FFmpeg gốc với preset medium chậm hơn và cùng CRF, thường cho tệp nhỏ hơn một chút và xong nhanh hơn nhiều với đoạn video dài.
Dung lượng đầu ra thường khác đầu vào. Video quay bằng HEVC trên iPhone đời mới có thể nặng lên, vì H.264 cần nhiều bit hơn cho cùng chất lượng. Video từ thiết bị cũ hoặc tệp tải về đã nén mạnh có thể nhẹ đi một chút. Nếu kết quả quá lớn để gửi, Nén video có thể giảm thêm.
Định dạng và giới hạn
- Đầu vào: tệp MP4, MOV và WebM đến 2 GB trong trình duyệt. Đầu ra luôn là MP4 mang tên tệp gốc kèm
-rotated. - Âm thanh AAC được sao chép, phần còn lại được chuyển đổi. Tệp MP4 và MOV từ điện thoại và máy quay có âm thanh AAC được giữ nguyên. Opus hoặc Vorbis từ tệp WebM và PCM không nén từ một số máy quay và máy ghi âm được chuyển sang AAC, để MP4 phát được trên mọi trình phát và trình chỉnh sửa.
- Bộ nhớ. Trong trình duyệt, đầu vào và đầu ra được giữ trong bộ nhớ cùng lúc, nên tệp nhiều gigabyte trên điện thoại có thể thất bại.
- Xử lý trên máy chủ. Miễn phí một tác vụ máy chủ mỗi ngày với tệp đến 500 MB; Premium không giới hạn và nhận tệp đến 4 GB. Tệp tự động bị xóa trong vòng khoảng một giờ.
Mẹo
- Một góc xoay áp cho mọi tệp trong một loạt. Nếu các đoạn video cần chỉnh khác nhau, hãy xử lý chúng thành các nhóm riêng.
- Dùng Cắt video trước khi xoay khi bạn chỉ cần một phần của đoạn video. Cả hai bước đều mã hóa lại, nhưng xoay một trích đoạn 30 giây nhanh hơn rất nhiều so với xoay một bản ghi 20 phút.
- Chỉ một phần đoạn video bị ngang vì điện thoại được xoay giữa chừng? Cắt riêng phần đó ra trước, chỉ xoay phần ấy và giữ nguyên phần còn lại.
- Giữ lại bản gốc. Mỗi lần mã hóa lại mất đi một chút chi tiết, và bản gốc kèm cờ xoay vẫn là nguồn tốt nhất nếu bạn cần thử lại.