{"analyzedAt":"2022-06-25T02:22:38.721Z","collected":{"metadata":{"name":"youtube-album-uploader-multiple","scope":"unscoped","version":"0.1.4","description":"Uploads multiple mp3 files to youtube","keywords":["mp3","youtube","album","music"],"date":"2019-08-17T18:40:32.681Z","author":{"name":"Richard Haddad","email":"contact@richardhaddad.fr"},"publisher":{"username":"chnapy","email":"richardhaddad@hotmail.fr"},"maintainers":[{"username":"chnapy","email":"richardhaddad@hotmail.fr"}],"repository":{"type":"git","url":"git+https://github.com/Chnapy/youtube-album-uploader-multiple.git"},"links":{"npm":"https://www.npmjs.com/package/youtube-album-uploader-multiple","homepage":"https://github.com/Chnapy/youtube-album-uploader-multiple","repository":"https://github.com/Chnapy/youtube-album-uploader-multiple","bugs":"https://github.com/Chnapy/youtube-album-uploader-multiple/issues"},"license":"MIT","dependencies":{"file-system":"^2.2.2","fluent-ffmpeg":"^2.0.1","googleapis":"^2.1.6","id3js":"^1.1.3","lien":"0.0.14","opn":"^3.0.3","r-json":"^1.2.0","youtube-api":"^1.4.0"},"devDependencies":{"chai":"^3.4.1","eslint":"^1.10.3","mocha":"^2.3.4"},"releases":[{"from":"2022-05-26T00:00:00.000Z","to":"2022-06-25T00:00:00.000Z","count":0},{"from":"2022-03-27T00:00:00.000Z","to":"2022-06-25T00:00:00.000Z","count":1},{"from":"2021-12-27T00:00:00.000Z","to":"2022-06-25T00:00:00.000Z","count":1},{"from":"2021-06-25T00:00:00.000Z","to":"2022-06-25T00:00:00.000Z","count":1},{"from":"2020-06-25T00:00:00.000Z","to":"2022-06-25T00:00:00.000Z","count":1}],"hasTestScript":true,"readme":"# youtube-album-uploader-multiple\n\nBut please, call it YAUM.\n\nIt is a fork of **[youtube-album-uploader](https://github.com/jpchip/youtube-album-uploader)** (created by [jpchip](https://github.com/jpchip), good job guy !).\n\nWhere the original youtube-album-uploader create a compilation of the album in a single video, YAUM create one video per music file and upload them all.\nYAUM is also a lot more configurable and personnalizable (recursive dir browse, multiple cover, path to credentials...).\n\nA second goal to this tools will be to permit to create a compilation like youtube-album-uploader does, but with the flexibility of YAUM.\n\n[![Build\nStatus](https://travis-ci.org/Chnapy/youtube-album-uploader-multiple.svg?branch=master)](https://travis-ci.org/Chnapy/youtube-album-uploader-multiple)\n\nA node CLI to upload multiple mp3 files to youtube. \n\n`youtube-album-uploader-multiple --albumPaths \"my/path\" \"my/other/path\" --coverPaths \"cover/path\" \"other/cover/path\" --credentials \"path/to/cred.json\"`\n\n## Getting Started\n\nRequires [ffmpeg](https://www.ffmpeg.org/) be installed. On windows, make sure to add the following PATHs (with actual paths to whereever you installed ffmpeg):\n\n    FFPROBE_PATH - C:\\ffmpeg\\bin\\ffprobe.exe\n    FFMPEG_PATH - C:\\ffmpeg\\bin\\ffmpeg.exe\n\nIt also requires Google OAuth2 credentials. The basics of Google's OAuth2 implementation is explained on [Google Authorization and Authentication documentation](https://developers.google.com/accounts/docs/OAuth2Login). \n\nThere is a [good tutorial here](https://www.codementor.io/nodejs/tutorial/uploading-videos-to-youtube-with-nodejs-google-api) on getting a credentials.json file. Once you download it, put in the root of the youtube-album-uploader directory.\n\nIf you happen to already have a CLIENT_ID, PROJECT_ID, and CLIENT_SECRET you can just copy `credentials.json.example` to `credentials.json` and replace these parameters.\n\n## Installation\n\nYou can install YAUM using npm:\n\n    npm install -g youtube-album-uploader-multiple\n    \n## Usage \n\n**Windows users, please use \"\" for paths.**\n\n### Shorter is better\n\n    youtube-album-uploader-multiple ...\n    \n    yaum ...\n    \nIt's the same.\n\n### The easy way\n\n    youtube-album-uploader-multiple --albumPaths \"path/to/folder\" --coverPaths \"path/to/cover.jpg\"\n\nIt will get all music files in `path/to/folder` and for each YAUM will create a video with `path/to/cover.jpg` as background image.\nThe title of each video will be the name of the music file, and default descriptions, tags, and category will be used. \nThe authenticate will be done with credentials.json.\n\n### The powerful way (and much funnier !)\n\n    youtube-album-uploader-multiple \n    --help\n    --albumPaths \"path/to/folder\" \"or/to/file.mp3\" \"or/twice\" \n    --coverPaths \"first/cover.jpg\" \"second/cover.jpg\" \"and/more.jpg\" \n    --albumRecursive\n    --coverPathsRelative\n    --outputDir \"where/videos/will/go\"\n    --credentials \"path/to/credentials.json\"\n    --cleanOnEnd\n    --noUpload\n    --port 5994\n    --title \"title of youtube video with {filename}\"\n    --desc \"description of youtube video with {filename}\"\n    --privacy \"private\"\n    --tags rock soundtrack whatever\n    --categoryId 10\n    --parallelProcess 1\n    --output \"multiple\"\n    \nDon't worry, all of that is optional but `--albumPaths` and `--coverPaths`.\nExplanation.\n\n#### Arguments is power\n\n* `--help`\n\nUse it alone. It will show you all the arguments you can use with YAUM.\n\n* `--albumPaths \"path/to/folder\" \"or/to/file.mp3\" \"or/twice\"`\n\nNeed a minimum of 1 path. YAUM will use these music files, or, if directory, the content of it.\n\n* `--coverPaths \"first/cover.jpg\" \"second/cover.jpg\" \"and/more.jpg\"`\n\nNeed a minimum of 1 path. YAUM will use these pictures as background image for youtube videos.\nIf multiple pictures are given, they will be shared to all videos like a loop.\n\n* `--albumRecursive`\n\nUse as that it is equivalent as `--albumRecursive true` or `--albumRecursive 1`. \nIf specified and true, the folders, if isset, specified in `--albumPaths` will be browsed by YAUM recursively (deep browse).\nYou can explicitly turn off that with `--albumRecursive false` or `--albumRecursive 0`.\nDefault value: `false`.\n\n* `--coverPathsRelative`\n\nUse similar as `--albumRecursive`.\nIf specified and true, the cover will be search in the album folder specified (so you have to specify a folder for your music files).\nWith this, `--coverPaths` should have only one path !\nDefault value: `false`.\n\n* `--outputDir \"where/videos/will/go\"`\n\nNeed exactly 1 path. Specify the folder where all videos will be stocked. The folder can exist or not, whatever. \nBut if he exists, he should to be empty, whereas the operation will fail (nothing will be delete).\nDefault value: `yaumExport`.\n\n* `--credentials \"path/to/credentials.json\"`\n\nNeed exactly 1 path. Specify the JSON file where the youtube authenticate are written. \nYou can also, instead of a path, specify directly the content of the file following the JSON format `{...}`.\nDefault value: `./credentials.json`.\n\n* `--cleanOnEnd`\n\nUse similar as `--albumRecursive`.\nIf specified and true, all files will be delete at the end of the process, after all the uploads end.\nDefault value: `true`.\n\n* `--noUpload`\n\nUse similar as `--albumRecursive`.\nIf specified and true, the created videos will not be upload to youtube.\nDefault value: `false`.\n\n* `--port 5994`\n\nNeed exactly 1 port number, higher than 0. The port specified will be used by the local server used to connect the app to youtube.\nThis arg can be useful if the default port is already used by an other application.\nDefault value: `5994`.\n\n* `--title \"title of youtube video with {filename}\"`\n\nNeed exactly 1 string. Title of all youtube videos. You can insert the name of the current file with `{filename}`.\nDefault value: `{filename}`.\n\n* `--desc \"description of youtube video with {filename}\"`\n\nNeed exactly 1 string. Description of all youtube videos. \nYou can insert the name of the current file with `{filename}` and some credits to YAUM `{credits}`.\nUse `\\n` for line breaks.\nDefault value: `{filename}\\n\\n{credits}`.\n\n* `--privacy \"private\"`\n\nNeed exactly 1 string. Privacy of all youtube videos. Keep it `private` if you don't want to spam your subscribers.\nDefault value: `private`.\n\n* `--tags rock soundtrack whatever`\n\nNeed a minimum of 0 tags (so can be empty). Specify the youtube tags for all videos.\nDefault value: `YAUM`.\n\n* `--categoryId 10`\n\nNeed exactly 1 number. Specify the youtube category for all videos. For example, 10 is for Music.\nDefault value: `10`.\n\n* `--parallelProcess 1`\n\nNeed exactly 1 number, higher than 0. Specify the number of video convert process running in the same time. \n**Be careful, a number too high for your CPU may cause some troubles to your computer !**\nDefault value: `1`.\n\n* `--output \"multiple\"`\n\nNeed exactly 1 string: `multiple` or `allinone`. Define the comportment of the app. `multiple` will create one video per music file, then upload them. \n`allinone` will create a single video compiling all music files, like `youtube-album-uploader` does.\n**For now, `allinone` mode don't work and is disabled.**\nDefault value: `multiple`.\n\n---\n\nWhen it finishes creating all videos your browser should open and prompt you to sign in with your Google account and give YAUM permission to upload on your behalf.\n\n## Questions\n\nIf you have any questions, just [open an issue](https://github.com/Chnapy/youtube-album-uploader-multiple/issues/new).\n\n## Disclaimer\n\nIt is your responsibility to respect the copyright of any material uploaded with this app."},"npm":{"downloads":[{"from":"2022-06-24T00:00:00.000Z","to":"2022-06-25T00:00:00.000Z","count":0},{"from":"2022-06-18T00:00:00.000Z","to":"2022-06-25T00:00:00.000Z","count":6},{"from":"2022-05-26T00:00:00.000Z","to":"2022-06-25T00:00:00.000Z","count":10},{"from":"2022-03-27T00:00:00.000Z","to":"2022-06-25T00:00:00.000Z","count":60},{"from":"2021-12-27T00:00:00.000Z","to":"2022-06-25T00:00:00.000Z","count":109},{"from":"2021-06-25T00:00:00.000Z","to":"2022-06-25T00:00:00.000Z","count":181}],"starsCount":0},"github":{"forkOf":"jpchip/youtube-album-uploader","starsCount":2,"forksCount":0,"subscribersCount":2,"issues":{"count":2,"openCount":2,"distribution":{"3600":0,"10800":0,"32400":0,"97200":0,"291600":0,"874800":0,"2624400":0,"7873200":0,"23619600":0,"70858800":1,"212576400":1},"isDisabled":false},"contributors":[{"username":"jpchip","commitsCount":15},{"username":"Chnapy","commitsCount":24}],"commits":[{"from":"2022-06-18T00:00:00.000Z","to":"2022-06-25T00:00:00.000Z","count":0},{"from":"2022-05-26T00:00:00.000Z","to":"2022-06-25T00:00:00.000Z","count":0},{"from":"2022-03-27T00:00:00.000Z","to":"2022-06-25T00:00:00.000Z","count":0},{"from":"2021-12-27T00:00:00.000Z","to":"2022-06-25T00:00:00.000Z","count":0},{"from":"2021-06-25T00:00:00.000Z","to":"2022-06-25T00:00:00.000Z","count":0}],"statuses":[{"context":"continuous-integration/travis-ci/push","state":"success"}]},"source":{"files":{"readmeSize":7575,"testsSize":5252798,"hasChangelog":true},"badges":[{"urls":{"original":"https://travis-ci.org/Chnapy/youtube-album-uploader-multiple.svg?branch=master","service":"https://api.travis-ci.org/Chnapy/youtube-album-uploader-multiple.svg?branch=master","shields":"https://img.shields.io/travis/Chnapy/youtube-album-uploader-multiple/master.svg","content":"https://img.shields.io/travis/Chnapy/youtube-album-uploader-multiple/master.json"},"info":{"service":"travis","type":"build","modifiers":{"branch":"master"}}}],"linters":["eslint"],"outdatedDependencies":{"googleapis":{"required":"^2.1.6","stable":"104.0.0","latest":"104.0.0"},"lien":{"required":"0.0.14","stable":"3.3.1","latest":"3.3.1"},"id3js":{"required":"^1.1.3","stable":"2.1.1","latest":"2.1.1"},"youtube-api":{"required":"^1.4.0","stable":"3.0.1","latest":"3.0.1"},"opn":{"required":"^3.0.3","stable":"6.0.0","latest":"6.0.0"}}}},"evaluation":{"quality":{"carefulness":0.45999999999999996,"tests":0.85,"health":0.5,"branding":0.15},"popularity":{"communityInterest":6,"downloadsCount":20,"downloadsAcceleration":-0.013222983257229856,"dependentsCount":0},"maintenance":{"releasesFrequency":0.28664383561643836,"commitsFrequency":0,"openIssues":0,"issuesDistribution":0}},"score":{"final":0.37332813384299557,"detail":{"quality":0.8137619941562834,"popularity":0.036585636625624106,"maintenance":0.33255589364897764}}}