From 0f59588dd9db17d293b381890533a9cb2881d281 Mon Sep 17 00:00:00 2001 From: Tachibana Shin Date: Fri, 23 Aug 2024 11:48:38 +0000 Subject: [PATCH 1/6] Add Tailwind CSS custom data and simplify VSCode settings - Added `.vscode/tailwind.json` with Tailwind CSS directives and descriptions. - Simplified `.vscode/settings.json` by removing unnecessary configurations and retaining essential settings. --- .vscode/settings.json | 59 +++---------------------------------------- .vscode/tailwind.json | 55 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+), 55 deletions(-) create mode 100644 .vscode/tailwind.json diff --git a/.vscode/settings.json b/.vscode/settings.json index 38510cb7..b0a3dfa3 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,58 +1,7 @@ { - "editor.bracketPairColorization.enabled": true, - "editor.guides.bracketPairs": true, - "editor.formatOnSave": true, - "editor.defaultFormatter": "esbenp.prettier-vscode", - "editor.codeActionsOnSave": ["source.fixAll.eslint"], - "eslint.validate": ["javascript", "javascriptreact", "typescript", "vue"], - "typescript.tsdk": "node_modules/typescript/lib", - "cSpell.words": ["phút", "supabase"], - "ionic.previewInEditor": true, - "vue-i18n.i18nPaths": "src/i18n", - "i18n-ally.keystyle": "flat", - "i18n-ally.localesPaths": ["src/i18n", "src/i18n/messages"], - "i18n-ally.extract.ignoredByFiles": { - "src/components/BrtPlayer.vue": ["Space", "Space"], - "src/pages/[_type-normal]/[value].vue": [" • "], - "src/pages/phim/_season.vue": [ - "${nameSeason} (${chaps[0].name} - ${\n chaps[chaps.length - 1].name\n })", - "${name} - ${currentMetaSeason.name} Tập ${currentMetaChap.name}(${seasonId}/${currentMetaChap.id})" - ], - "src/pages/tai-khoan/index.vue": ["bg-dark text-light-9"], - "src/pages/lich-chieu-phim.vue": [ - "\n T{{ dayTextToNum(item.day) }}\n ", - "/{{ item.month }}" - ], - "src/pages/news.vue": [ - "•\n {{ dayjs(item.time).locale(\"vi\").fromNow() }}\n " - ], - "src/pages/tai-khoan/edit-profile.vue": ["bg-dark text-light-9"], - "src/layouts/MainLayout.vue": [ - "mailto:ogmo2r3q@duck.com?subject=Phản hồi ứng dụng web AnimeVsub", - "bg-dark text-light-9", - "Slash", - ".\n {{ t('du-lieu-cua-ban-se-duoc-dong-bo-ca-o-do-va-day') }}\n ", - "\n ({{\n t(\"da-co-ban-cap-nhat-moi-_newVersion\", [\n newVersionAble,\n ])\n }}\n ", - ")\n ", - ".\n {{ t(\"du-lieu-cua-ban-se-duoc-dong-bo-ca-o-do-va-day\") }}\n " - ], - "src/pages/tim-kiem/[keyword]-.vue": [ - "• {{ t('_maxPage-trang', [data?.maxPage]) }}\n ", - "• {{ t('_maxPage-trang', [data?.maxPage]) }}\n " - ], - "src/apis/runs/ajax/rate.ts": ["${token_name}=${token_value}"], - "src/components/errors/cloudflare.vue": [")\n "], - "src/components/errors/domain-strange.vue": [ - "\n {{ extensionVersion ?? \"" - ] - }, - "scss.lint.unknownAtRules": "ignore", - "i18n-ally.sourceLanguage": "vi-VN", - "i18n-ally.extract.ignored": [ - "•\n {{\n t(\"tap-moi-chieu-vao-_time-_day\", [\n dayjs(\n new Date(\n `${currentDataSeason.update[1]}:${currentDataSeason.update[2]} 1/1/0`\n )\n ).format(\"HH:MM\"),\n currentDataSeason.update[0] === 0\n ? \"chủ nhật\"\n : `thứ ${currentDataSeason.update[0]}`,\n currentDataSeason.update[0] > new Date().getDay() + 1\n ? \"tuần sau\"\n : \"tuần này\",\n ])\n }}\n ", - "Urban VPN" + "i18n-ally.localesPaths": [ + "src/i18n", + "src/i18n/messages" ], - "editor.tabCompletion": "on", - "diffEditor.codeLens": true, - "bun.runtime": "/home/gitpod/.bun/bin/bun" + "css.customData": [".vscode/tailwind.json"] } diff --git a/.vscode/tailwind.json b/.vscode/tailwind.json new file mode 100644 index 00000000..96a1f579 --- /dev/null +++ b/.vscode/tailwind.json @@ -0,0 +1,55 @@ +{ + "version": 1.1, + "atDirectives": [ + { + "name": "@tailwind", + "description": "Use the `@tailwind` directive to insert Tailwind's `base`, `components`, `utilities` and `screens` styles into your CSS.", + "references": [ + { + "name": "Tailwind Documentation", + "url": "https://tailwindcss.com/docs/functions-and-directives#tailwind" + } + ] + }, + { + "name": "@apply", + "description": "Use the `@apply` directive to inline any existing utility classes into your own custom CSS. This is useful when you find a common utility pattern in your HTML that you’d like to extract to a new component.", + "references": [ + { + "name": "Tailwind Documentation", + "url": "https://tailwindcss.com/docs/functions-and-directives#apply" + } + ] + }, + { + "name": "@responsive", + "description": "You can generate responsive variants of your own classes by wrapping their definitions in the `@responsive` directive:\n```css\n@responsive {\n .alert {\n background-color: #E53E3E;\n }\n}\n```\n", + "references": [ + { + "name": "Tailwind Documentation", + "url": "https://tailwindcss.com/docs/functions-and-directives#responsive" + } + ] + }, + { + "name": "@screen", + "description": "The `@screen` directive allows you to create media queries that reference your breakpoints by **name** instead of duplicating their values in your own CSS:\n```css\n@screen sm {\n /* ... */\n}\n```\n…gets transformed into this:\n```css\n@media (min-width: 640px) {\n /* ... */\n}\n```\n", + "references": [ + { + "name": "Tailwind Documentation", + "url": "https://tailwindcss.com/docs/functions-and-directives#screen" + } + ] + }, + { + "name": "@variants", + "description": "Generate `hover`, `focus`, `active` and other **variants** of your own utilities by wrapping their definitions in the `@variants` directive:\n```css\n@variants hover, focus {\n .btn-brand {\n background-color: #3182CE;\n }\n}\n```\n", + "references": [ + { + "name": "Tailwind Documentation", + "url": "https://tailwindcss.com/docs/functions-and-directives#variants" + } + ] + } + ] +} From 9c0c2a564f260398d9d4d22489b31480212d8a10 Mon Sep 17 00:00:00 2001 From: Tachibana Shin Date: Fri, 23 Aug 2024 11:49:35 +0000 Subject: [PATCH 2/6] Add offline video download and management functionality - Implement video download to MP4 using HLS streams - Add IDB-keyval for storing video metadata and offline registry - Create UI components for downloading and removing videos - Integrate progress tracking and notifications for download status - Add support for selecting video quality before download - Implement functions to manage offline video data and storage - Update package.json with necessary dependencies for video processing - Optimize Vite configuration for FFmpeg dependencies - Add constants for offline video storage prefixes and registry - Implement utility functions for handling before unload events and listing offline seasons --- bun.lockb | Bin 621138 -> 624314 bytes package.json | 4 + quasar.config.ts | 6 +- src/constants.ts | 9 +- src/logic/convert-hls-to-mp4.ts | 96 +++++++++++ src/logic/download-to-mp4.ts | 59 +++++++ src/logic/download-to-mp4.worker.ts | 130 ++++++++++++++ src/logic/has-video-offline.ts | 27 +++ src/logic/list-season-offline.ts | 12 ++ src/logic/registry-before-unload.ts | 15 ++ src/pages/phim/_season.vue | 152 +++++++++++++++++ src/stores/vdm.ts | 255 ++++++++++++++++++++++++++++ 12 files changed, 763 insertions(+), 2 deletions(-) create mode 100644 src/logic/convert-hls-to-mp4.ts create mode 100644 src/logic/download-to-mp4.ts create mode 100644 src/logic/download-to-mp4.worker.ts create mode 100644 src/logic/has-video-offline.ts create mode 100644 src/logic/list-season-offline.ts create mode 100644 src/logic/registry-before-unload.ts create mode 100644 src/stores/vdm.ts diff --git a/bun.lockb b/bun.lockb index ca2c5692239d2ad829a02b9a9de3071c3594e68c..8771454ff8095b825d74b5ea15a36a159688a5aa 100755 GIT binary patch delta 121003 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 delta 119471 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 Promise} fetchFile - A function to fetch a file from a URL. + * @param {(current: number, total: number, timeCurrent: number, timeDuration: number) => void} onProgress - A callback function to report the progress of the conversion. + * @param {number} [concurrency=20] - The number of concurrent downloads. + * @param {RetryOptions} [retryOptions] - Options for retrying failed downloads. + * @return {Promise} The MP4 file data. + */ +export async function convertHlsToMP4( + m3u8Content: string, + fetchFile: (url: string) => Promise, + onProgress: ( + current: number, + total: number, + timeCurrent: number, + timeDuration: number, + ) => void, + concurrency = 20, + retryOptions?: RetryOptions, +) { + const ffmpeg = new FFmpeg() + + const hash = sha256(m3u8Content) + const manifest = parse(m3u8Content) + + if (!("segments" in manifest)) + throw new Error("Can't support master playlist") + + if (import.meta.env.DEV) + ffmpeg.on("log", ({ message }) => { + console.log(`[@ffmpeg/ffmpeg]: ${message}`) + }) + + if (import.meta.env.DEV) + ffmpeg.on("progress", ({ progress, time }) => { + console.log(`${progress * 100} % (transcoded time: ${time / 1000000} s)`) + }) + + await ffmpeg.load({ + coreURL, + wasmURL, + }) + + const limit = pLimit(concurrency) + + const timeDuration = manifest.segments.reduce( + (prev, cur) => cur.duration + prev, + 0, + ) + // Download all the TS segments + let downloaded = 0 + let timeCurrent = 0 + await Promise.all( + manifest.segments.map((segment, i) => + limit(() => + retryAsync(async () => { + const path = `${hash}-${i}.ts` + await ffmpeg.writeFile(path, await fetchFile(segment.uri)) + segment.uri = path + downloaded++ + timeCurrent += segment.duration + onProgress( + downloaded, + manifest.segments.length, + timeCurrent, + timeDuration, + ) + }, retryOptions), + ), + ), + ) + await ffmpeg.writeFile(`${hash}-media.m3u8`, stringify(manifest)) + + await ffmpeg.exec([ + "-i", + `${hash}-media.m3u8`, + ..."-acodec copy -vcodec copy".split(" "), + `${hash}-output.mp4`, + ]) + + // Retrieve the output file + const mp4Data = await ffmpeg.readFile(`${hash}-output.mp4`) + + return mp4Data +} diff --git a/src/logic/download-to-mp4.ts b/src/logic/download-to-mp4.ts new file mode 100644 index 00000000..0481b8dd --- /dev/null +++ b/src/logic/download-to-mp4.ts @@ -0,0 +1,59 @@ +import type PhimId from "src/apis/parser/phim/[id]" +import type PhimIdChap from "src/apis/parser/phim/[id]/[chap]" + +import Worker from "./download-to-mp4.worker?worker" + +export function downloadToMp4( + url: string, + filename: string, + realSeasonId: string, + season: Awaited>, + chaps: Awaited>, + currentChapId: string, + onProgress: ( + current: number, + total: number, + tCurrent: number, + tDuration: number, + speed: number + ) => void +) { + return new Promise((resolve, reject) => { + const worker = new Worker() + worker.onmessage = ( + event: MessageEvent< + | { + ok: boolean + message?: string + } + | [ + current: number, + total: number, + tCurrent: number, + tDuration: number, + speed: number + ] + > + ) => { + if ("ok" in event.data) { + if (event.data.ok) { + resolve() + worker.terminate() + } else reject(new Error(event.data.message ?? "")) + } else { + onProgress(...event.data) + } + } + worker.onerror = (event) => reject(event) + // worker.onmessageerror = (event) => reject(event) + + worker.postMessage({ + url, + filename, + realSeasonId, + season, + chaps, + currentChapId + }) + }) +} diff --git a/src/logic/download-to-mp4.worker.ts b/src/logic/download-to-mp4.worker.ts new file mode 100644 index 00000000..a15654ba --- /dev/null +++ b/src/logic/download-to-mp4.worker.ts @@ -0,0 +1,130 @@ +import { createStore, get, setMany } from "idb-keyval" +import type PhimId from "src/apis/parser/phim/[id]" +import type PhimIdChap from "src/apis/parser/phim/[id]/[chap]" +import { + PREFIX_CHAPS, + PREFIX_IMAGE, + PREFIX_POSTER, + PREFIX_SEASON, + REGISTRY_OFFLINE +} from "src/constants" +import type { SeasonOffline, VideoOfflineMeta } from "src/stores/vdm" + +import { convertHlsToMP4 } from "./convert-hls-to-mp4" + +const store = createStore("vdm", "vdm") +async function download( + url: string, + filename: string, + realSeasonId: string, + season: Awaited>, + chaps: Awaited>, + currentChapId: string +) { + const hlsContent = await fetch(url).then((res) => + res.ok ? res.text() : Promise.reject(res) + ) + + let lastTCurrent = 0 + let lastTimeTCurrent = 0 + const mp4File = await convertHlsToMP4( + hlsContent, + (url) => { + return fetch(`${url}#animevsub-vsub_extra`) + .then((res) => (res.ok ? res.arrayBuffer() : Promise.reject(res))) + .then((buffer) => new Uint8Array(buffer)) + }, + (current, total, tCurrent, tDuration) => { + const now = performance.now() + + const speed = (tCurrent - lastTCurrent) / (now - lastTimeTCurrent) + lastTimeTCurrent = now + lastTCurrent = tCurrent + + postMessage([current, total, tCurrent, tDuration, speed]) + }, + 10, + { maxTry: 10, delay: 3_000 } + ) + // save + + const buffer = await new Blob([mp4File], { + type: "video/mp4" + }).arrayBuffer() + + const datM: VideoOfflineMeta = { + size: buffer.byteLength, + saved_at: new Date().toString() + } + + const oldSeasonData = (await get(`${PREFIX_SEASON}${realSeasonId}`) + .then((data) => (data ? JSON.parse(data) : null)) + .catch(() => null)) as SeasonOffline | null + + const seasonData: SeasonOffline = { + dat: { + ...season, + // prettier-ignore + poster: season.poster ? `file:/${PREFIX_POSTER}${realSeasonId}` : undefined, + image: `file:/${PREFIX_IMAGE}${realSeasonId}` + }, + off: { + ...oldSeasonData?.off, + [currentChapId]: datM + } + } + + const oldRegistry = (await get(`${REGISTRY_OFFLINE}`, store) + .then((data) => (data ? JSON.parse(data) : null)) + .catch(() => null)) as Record | null + + await setMany( + [ + [`${PREFIX_SEASON}${realSeasonId}`, JSON.stringify(seasonData)], + [`${PREFIX_CHAPS}${realSeasonId}`, JSON.stringify(chaps)], + [ + `${REGISTRY_OFFLINE}`, + JSON.stringify({ + ...oldRegistry, + [realSeasonId]: datM + }) + ], + [filename, buffer], + [filename + "_m", JSON.stringify(datM)] + ], + store + ) + + console.log(`Saved video ${mp4File.length} byte`) +} + +addEventListener( + "message", + async ({ + data + }: MessageEvent<{ + url: string + filename: string + realSeasonId: string + season: Awaited> + chaps: Awaited> + currentChapId: string + }>) => { + try { + await download( + data.url, + data.filename, + data.realSeasonId, + data.season, + data.chaps, + data.currentChapId + ) + postMessage({ ok: true }) + } catch (err) { + console.error(err) + postMessage({ ok: false, message: err + "" }) + } + + self.close() + } +) diff --git a/src/logic/has-video-offline.ts b/src/logic/has-video-offline.ts new file mode 100644 index 00000000..d0c3ee2a --- /dev/null +++ b/src/logic/has-video-offline.ts @@ -0,0 +1,27 @@ +import type { UseStore } from "idb-keyval" +import { createStore, get } from "idb-keyval" +import type { VideoOfflineMeta } from "src/stores/vdm" + +let store: UseStore +export function initStore() { + if (!store) store = createStore("vdm", "vdm") + return store +} + +export async function hasVideoOffline( + realSeasonId: string, + currentChapId: string +) { + try { + const json = await get( + `${PREFIX_VIDEO}${currentChapId}@${realSeasonId}_m`, + initStore() + ) + if (!json) throw new Error("not_found") + + return JSON.parse(json) as VideoOfflineMeta + } catch (err) { + WARN(err) + return null + } +} diff --git a/src/logic/list-season-offline.ts b/src/logic/list-season-offline.ts new file mode 100644 index 00000000..c72cfc13 --- /dev/null +++ b/src/logic/list-season-offline.ts @@ -0,0 +1,12 @@ +import { get } from "idb-keyval" +import type { VideoOfflineMeta } from "src/stores/vdm" + +import { initStore } from "./has-video-offline" + +export function listSeasonOffline() { + return get(`${REGISTRY_OFFLINE}`, initStore()) + .then((data) => + data ? (JSON.parse(data) as Record) : null + ) + .catch(() => null) +} diff --git a/src/logic/registry-before-unload.ts b/src/logic/registry-before-unload.ts new file mode 100644 index 00000000..576508a3 --- /dev/null +++ b/src/logic/registry-before-unload.ts @@ -0,0 +1,15 @@ +let count = 0 + +const fn = (event: Event) => { + event.preventDefault() + event.returnValue = true +} + +export function registerBeforeUnload() { + count++ + addEventListener("beforeunload", fn) +} +export function unRegisterBeforeUnload() { + count-- + if (count < 1) removeEventListener("beforeunload", fn) +} diff --git a/src/pages/phim/_season.vue b/src/pages/phim/_season.vue index cff40382..6500c1d1 100644 --- a/src/pages/phim/_season.vue +++ b/src/pages/phim/_season.vue @@ -261,6 +261,79 @@ t("luu") }} + + + + {{ + stateOffline + ? "Xóa tập" + : stateProgress + ? Array.isArray(stateProgress) + ? "Đang tải" + : "Lỗi" + : "Tải xuống" + }} + @@ -450,6 +523,7 @@ import Star from "components/Star.vue" import FbComments from "components/fb-comments/index.vue" import MessageScheludeChap from "components/feat/MessageScheludeChap.vue" import { EmbedFbCmt } from "embed-fbcmt-client/vue" +import { filesize } from "filesize" import { set } from "idb-keyval" import { QBtn, @@ -478,13 +552,16 @@ import { TIMEOUT_GET_LAST_EP_VIEWING_IN_STORE, WARN } from "src/constants" +import dayjs from "src/logic/dayjs" import { forceHttp2 } from "src/logic/forceHttp2" import { formatView } from "src/logic/formatView" import { getDataIDB } from "src/logic/get-data-IDB" import { getDataJson } from "src/logic/get-data-json" import { getQualityByLabel } from "src/logic/get-quality-by-label" import { getRealSeasonId } from "src/logic/getRealSeasonId" +import { hasVideoOffline } from "src/logic/has-video-offline" import { parseChapName } from "src/logic/parseChapName" +import { parseTime } from "src/logic/parseTime" import { unflat } from "src/logic/unflat" import { useAuthStore } from "stores/auth" import { useHistoryStore } from "stores/history" @@ -1866,6 +1943,81 @@ const skEpisode = computedAsync | null>( null, { onError: WARN, shallow: true, lazy: true } ) + +// ============== download video =============== +const refreshStateOffline = shallowRef(0) +const stateOffline = computedAsync( + () => { + /** @track */ + // eslint-disable-next-line no-unused-expressions + refreshStateOffline.value + + if (!realIdCurrentSeason.value || !currentChap.value) return null + return hasVideoOffline(realIdCurrentSeason.value, currentChap.value) + }, + undefined, + { onError: WARN, lazy: true, shallow: true } +) + +const vdmStoreRef = shallowRef | null>(null) + +const stateProgress = computed(() => { + if (!vdmStoreRef.value || !realIdCurrentSeason.value || !currentChap.value) + return null + + return vdmStoreRef.value?.getProgress( + realIdCurrentSeason.value, + currentChap.value + ) +}) + +async function download() { + const { useVDMStore } = await import("stores/vdm") + + vdmStoreRef.value ??= useVDMStore() + + try { + await vdmStoreRef.value.download( + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + realIdCurrentSeason.value!, + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + data.value!, + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + currentDataCache.value!.response!, + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + currentChap.value! + ) + + refreshStateOffline.value++ + + $q.notify({ + message: "Đã tải xong video", + caption: "Bạn có thể yên tâm đóng cửa sổ này", + position: "bottom-left" + }) + } catch (err) { + $q.notify({ + message: "Tải video thất bại", + caption: err + "", + position: "bottom-left" + }) + } +} +async function remove() { + const { useVDMStore } = await import("stores/vdm") + + vdmStoreRef.value ??= useVDMStore() + + if (!realIdCurrentSeason.value || !currentChap.value) return + await vdmStoreRef.value.confirmRemove( + realIdCurrentSeason.value, + currentChap.value + ) + + refreshStateOffline.value++ +}