{"id":13815818,"url":"https://github.com/scttcper/video-filename-parser","last_synced_at":"2025-04-05T13:03:01.755Z","repository":{"id":38207834,"uuid":"203210870","full_name":"scttcper/video-filename-parser","owner":"scttcper","description":"Scene release name parser","archived":false,"fork":false,"pushed_at":"2024-12-17T03:17:27.000Z","size":1953,"stargazers_count":63,"open_issues_count":6,"forks_count":7,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-29T10:37:19.164Z","etag":null,"topics":["filename","media","parser","release","scene"],"latest_commit_sha":null,"homepage":"https://video-filename-parser.vercel.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/scttcper.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-08-19T16:35:39.000Z","updated_at":"2025-03-17T12:46:00.000Z","dependencies_parsed_at":"2024-01-18T02:37:56.191Z","dependency_job_id":"eacd7072-a357-4b40-a9e3-5d2e49b0e503","html_url":"https://github.com/scttcper/video-filename-parser","commit_stats":{"total_commits":180,"total_committers":6,"mean_commits":30.0,"dds":"0.17222222222222228","last_synced_commit":"0be87b61312c8ef89e6d9469ab6fca7428a9ad64"},"previous_names":[],"tags_count":62,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scttcper%2Fvideo-filename-parser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scttcper%2Fvideo-filename-parser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scttcper%2Fvideo-filename-parser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scttcper%2Fvideo-filename-parser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/scttcper","download_url":"https://codeload.github.com/scttcper/video-filename-parser/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247339149,"owners_count":20923014,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["filename","media","parser","release","scene"],"created_at":"2024-08-04T04:04:07.439Z","updated_at":"2025-04-05T13:03:01.722Z","avatar_url":"https://github.com/scttcper.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"# video-filename-parser [![npm](https://img.shields.io/npm/v/@ctrl/video-filename-parser.svg?maxAge=3600)](https://www.npmjs.com/package/@ctrl/video-filename-parser) [![coverage](https://codecov.io/gh/scttcper/video-filename-parser/branch/master/graph/badge.svg)](https://codecov.io/gh/scttcper/video-filename-parser)\n\n\u003e A simple file / release name parser based heavily on radarr's movie parsing\n\n__DEMO__: https://video-filename-parser.vercel.app  \n\n## Install\n\n```console\nnpm install @ctrl/video-filename-parser\n```\n\n## Use\n\n##### parameters:  \n**title** string - The title or filename to be parsed  \n**isTv** boolean - parsed as a tv show (default false)  \n\n```ts\nimport { filenameParse } from '@ctrl/video-filename-parser';\n\nconst title = 'This.is.40.2012.PROPER.UNRATED.720p.BluRay.x264-Felony';\nconsole.log(filenameParse(title));\n// {\n//   \"title\": \"This is 40\",\n//   \"year\": \"2012\",\n//   \"resolution\": \"720P\",\n//   \"sources\": [\n//     \"BLURAY\"\n//   ],\n//   \"videoCodec\": \"x264\",\n//   \"revision\": {\n//     \"version\": 2,\n//     \"real\": 0\n//   },\n//   \"group\": \"Felony\",\n//   \"edition\": {\n//     \"unrated\": true\n//   },\n//   \"languages\": [\n//     \"English\"\n//   ],\n// }\n\nconsole.log(filenameParse('The Office US S09E06 HDTV XviD-AFG', true));\n// {\n//   \"title\": \"The Office US\",\n//   \"year\": null,\n//   \"resolution\": \"480P\",\n//   \"sources\": [\n//     \"TV\"\n//   ],\n//   \"videoCodec\": \"xvid\",\n//   \"revision\": {\n//     \"version\": 1,\n//     \"real\": 0\n//   },\n//   \"group\": \"AFG\",\n//   \"edition\": {},\n//   \"languages\": [\n//     \"English\"\n//   ],\n//   \"seasons\": [\n//     9\n//   ],\n//   \"episodeNumbers\": [\n//     6\n//   ],\n//   \"airDate\": null,\n//   \"fullSeason\": false,\n//   \"isPartialSeason\": false,\n//   \"isMultiSeason\": false,\n//   \"isSeasonExtra\": false,\n//   \"isSpecial\": false,\n//   \"seasonPart\": 0,\n//   \"isTv\": true\n// }\n```\n\n## See also\n[Radarr movie parser](https://github.com/Radarr/Radarr/blob/01ad015b1433ce792c24f019f701f3a8a59c4b2c/src/NzbDrone.Core/Parser/Parser.cs)  \n[sonarr tv parser](https://github.com/Sonarr/Sonarr/blob/phantom-develop/src/NzbDrone.Core/Parser/Parser.cs)  \n[guessit](https://github.com/guessit-io/guessit)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscttcper%2Fvideo-filename-parser","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fscttcper%2Fvideo-filename-parser","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscttcper%2Fvideo-filename-parser/lists"}