xvai-loi 0.1.80 → 0.1.81

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/co.txt +1 -1
  2. package/package.json +1 -1
  3. package/xvai-loi.js +33 -2
package/co.txt CHANGED
@@ -1 +1 @@
1
- xvaiLoi120014
1
+ xvaiLoi120020
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "xvai-loi",
3
- "version": "0.1.80",
3
+ "version": "0.1.81",
4
4
  "description": "Loi dung video (Edit Video Tu Dong) nap vao tool Google Flow qua o cam engine/oCam.ts",
5
5
  "license": "UNLICENSED",
6
6
  "type": "module",
package/xvai-loi.js CHANGED
@@ -9691,7 +9691,8 @@ var KHUON_TOPN = {
9691
9691
  icon: { phut: 11.5 },
9692
9692
  cat: { moi10s: [4, 6], manhNguoi: 1.2, heChu: 0 },
9693
9693
  // manhNguoi: mẩu người nói kẹp giữa 2 cảnh ngắn hơn thì lấp (trước 0,6 — VD-236); heChu: khe giữa 2 cảnh liền cùng có chữ (trước 0,06 → chớp 2 khung người nói = 2 cú cắt thừa; bàn thử 13 video 12/10 00:0x: 0,06 → 0 cắt TB 5,44 → 4,39/10 s, chồng chữ 0/13 — cảnh trước đã hết theo giờ PHIM nhờ bT)
9694
- nguoi: { phongToiDa: 1.8, matToiDa: 0.55 },
9694
+ nguoi: { phongToiDa: 1.8, matToiDa: 0.55, doiToiDa: 10 },
9695
+ // doiToiDa: bố cục DỜI người nói (thẻ/chia/tròn/tách nền) mỗi phút — đối thủ 15 / 88 s (P2 ×6, P3 ×3, P4 ×3, P7 ×3); mỗi lần dời = 1–2 cú đầu nhảy (A4 đối thủ 11,5/phút)
9695
9696
  // matToiDa: hộp đầu (tóc→cằm) cao hơn 0,55 H thì KHÔNG dùng ô người / chia (không vừa ô) // MỌI ô người (PIP, thẻ, chia) phóng khung gốc tối đa 1,8× (độ nét) — trước: PIP 1,6, thẻ 1,3 (B05-1027: thẻ hiện cả người nhỏ)
9696
9697
  lietKe: { xenKe: 2 },
9697
9698
  // video liệt kê: cứ thẻ bước thứ 2 → ảnh toàn khung + tiêu đề (đối thủ đổi kiểu, không lặp 1 khuôn thẻ)
@@ -13003,6 +13004,36 @@ function lapCuongMe(o) {
13003
13004
  });
13004
13005
  }
13005
13006
  }
13007
+ {
13008
+ const doi = (x) => /^(card|chia|tron|cut)$/.test(String(x.bo)), D = sp.filter(doi).sort((p, q) => p.f - q.f), tranD = Math.floor(KHUON_TOPN.nguoi.doiToiDa * tong / 60);
13009
+ let nD = 0;
13010
+ const duoc = (x) => !x.ui && !x.doc && !x.hang && !x.dong && !x.tieuDoc && !x.khoa && x.f >= 3 && (x.bo === "chia" && x.ten && taiSan(x.ten) || x.bo === "card" && x.anhTren);
13011
+ while (D.length > tranD) {
13012
+ let j = -1, m = 1e9;
13013
+ for (let k = 0; k < D.length; k++) {
13014
+ const x2 = D[k];
13015
+ if (!duoc(x2)) continue;
13016
+ const g = Math.min(k > 0 ? x2.f - D[k - 1].f : 1e9, k + 1 < D.length ? D[k + 1].f - x2.f : 1e9);
13017
+ if (g < m) {
13018
+ m = g;
13019
+ j = k;
13020
+ }
13021
+ }
13022
+ if (j < 0) break;
13023
+ const x = D[j];
13024
+ ghiL("doi", x, "khuon nguoi.doiToiDa: " + x.bo + " \u2192 anh toan khung");
13025
+ if (x.bo === "card") {
13026
+ x.ten = x.anhTren;
13027
+ x.chu = x.tieu;
13028
+ x.chu2 = "";
13029
+ x.theAnh = 1;
13030
+ }
13031
+ x.bo = "anh";
13032
+ D.splice(j, 1);
13033
+ nD++;
13034
+ }
13035
+ G4.__doiNguoiBo = nD;
13036
+ }
13006
13037
  {
13007
13038
  const coC = (x) => x.bo !== "phong" && !!String(x.giant || x.chu || x.tieu || "").trim(), C2 = sp.filter(coC).sort((p, q) => p.f - q.f), tran = Math.floor(0.9 * KHUON_TOPN.chu.phut[1] * tong / 60);
13008
13039
  let nT = 0;
@@ -20913,7 +20944,7 @@ function datCauLenh(a) {
20913
20944
  on2 = true;
20914
20945
  window.addEventListener("message", async (ev) => {
20915
20946
  const d = ev.data;
20916
- if (!d || d.xvaiLoi120014 !== true) return;
20947
+ if (!d || d.xvaiLoi120020 !== true) return;
20917
20948
  const o = String(ev.origin || "");
20918
20949
  if (!(o.indexOf("https://flow.google.com") === 0 || o.indexOf("https://labs.google") === 0)) return;
20919
20950
  const tra = (kq) => {