A tool to download all videos and convert to mp3 inside a video set of bilibili.

Overview

bilibili-video2mp3

A tool to download all videos and convert to mp3 inside a video set of bilibili (also works for single video, of course).

You will need node.js (recommended 16+) installed and ffmpeg in system path first.

npx bilibili-video2mp3 --url=https://www.bilibili.com/video/BV1yZ4y1X7v3

output sample:

downloading [================              ] 52% 36.3s 海蓝色-yousa-2021-12-26.flv
downloading [===============               ] 48% 43.0s 元气女孩-yousa-2021-12-26.flv
downloading [===============               ] 51% 38.5s 安稳最好啦-yousa-2021-12-26.flv
downloading [===========                   ] 37% 66.4s 小小-yousa-2021-12-26.flv
downloading [===========                   ] 37% 68.3s 北戴河之歌-yousa-2021-12-26.flv
downloading [===========                   ] 37% 68.5s 口袋的天空-yousa-2021-12-26.flv
downloading [============                  ] 41% 57.4s 日出日落-yousa-2021-12-26.flv
downloading [==========                    ] 34% 78.3s 知否知否-yousa-2021-12-26.flv

options, see help.js or:

npx bilibili-video2mp3 --help
Comments
  • 下载b站报错

    下载b站报错

    ~ [ v16.15.0]
    ❯ node -v
    v16.15.0
    
    npx bv2mp3 --url=https://www.bilibili.com/bangumi/play/ep391158
    fetching pages for https://www.bilibili.com/bangumi/play/ep391158
    C:\Users\brucm\node_modules\@ffmpeg\core\dist\ffmpeg-core.js:12
    if(h){pa=la?require("path").dirname(pa)+"/":__dirname+"/";ra=function(a,b){ta||(ta=require("fs"));va||(va=require("path"));a=va.normalize(a);return ta.readFileSync(a,b?null:"utf8")};sa=function(a){a=ra(a,!0);a.buffer||(a=new Uint8Array(a));assert(a.buffer);return a};1<process.argv.length&&(ha=process.argv[1].replace(/\\/g,"/"));fa=process.argv.slice(2);process.on("uncaughtException",function(a){if(!(a instanceof wa))throw a;});process.on("unhandledRejection",n);ja=function(a){process.exit(a)};f.inspect=
    
                                                                                                                                     ^
    
    RuntimeError: abort(TypeError: Cannot read properties of undefined (reading 'pages')). Build with -s ASSERTIONS=1 for more info.
        at process.n (C:\Users\brucm\node_modules\@ffmpeg\core\dist\ffmpeg-core.js:25:109)
        at process.emit (node:events:527:28)
        at emit (node:internal/process/promises:140:20)
        at processPromiseRejections (node:internal/process/promises:274:27)
        at processTicksAndRejections (node:internal/process/task_queues:97:32)
    
    opened by brucmao 1
  • Configure Renovate

    Configure Renovate

    WhiteSource Renovate

    Welcome to Renovate! This is an onboarding PR to help you understand and configure settings before regular Pull Requests begin.

    🚦 To activate Renovate, merge this Pull Request. To disable Renovate, simply close this Pull Request unmerged.


    Detected Package Files

    • .github/workflows/publish_npm.yaml (github-actions)
    • .github/workflows/publish_release.yaml (github-actions)
    • package.json (npm)

    Configuration Summary

    Based on the default config's presets, Renovate will:

    • Start dependency updates only once this onboarding PR is merged
    • Enable Renovate Dependency Dashboard creation
    • If semantic commits detected, use semantic commit type fix for dependencies and chore for all others
    • Ignore node_modules, bower_components, vendor and various test/tests directories
    • Autodetect whether to pin dependencies or maintain ranges
    • Rate limit PR creation to a maximum of two per hour
    • Limit to maximum 10 open PRs at any time
    • Group known monorepo packages together
    • Use curated list of recommended non-monorepo package groupings
    • Fix some problems with very old Maven commons versions
    • Ignore spring cloud 1.x releases
    • Ignore http4s digest-based 1.x milestones
    • Use node versioning for @types/node
    • Limit concurrent requests to reduce load on Repology servers until we can fix this properly, see issue 10133

    🔡 Would you like to change the way Renovate is upgrading your dependencies? Simply edit the renovate.json in this branch with your custom config and the list of Pull Requests in the "What to Expect" section below will be updated the next time Renovate runs.


    What to Expect

    With your current configuration, Renovate will create 1 Pull Request:

    Pin dependencies
    • Schedule: ["at any time"]
    • Branch name: renovate/pin-dependencies
    • Merge into: master
    • Pin minimist to 1.2.5
    • Pin node-fetch to 3.1.0

    ❓ Got questions? Check out Renovate's Docs, particularly the Getting Started section. If you need any further assistance then you can also request help here.


    This PR has been generated by WhiteSource Renovate. View repository job log here.

    opened by renovate[bot] 1
  • Update dependency eslint-config-prettier to v8.6.0

    Update dependency eslint-config-prettier to v8.6.0

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | eslint-config-prettier | 8.5.0 -> 8.6.0 | age | adoption | passing | confidence |


    Release Notes

    prettier/eslint-config-prettier

    v8.6.0

    Compare Source

    • Added: [vue/multiline-ternary]. Thanks to @​xcatliu!

    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Enabled.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • Update dependency eslint to v8.31.0

    Update dependency eslint to v8.31.0

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | eslint (source) | 8.30.0 -> 8.31.0 | age | adoption | passing | confidence |


    Release Notes

    eslint/eslint

    v8.31.0

    Compare Source

    Features

    • 52c7c73 feat: check assignment patterns in no-underscore-dangle (#​16693) (Milos Djermanovic)
    • b401cde feat: add options to check destructuring in no-underscore-dangle (#​16006) (Morten Kaltoft)
    • 30d0daf feat: group properties with values in parentheses in key-spacing (#​16677) (Francesco Trotta)

    Bug Fixes

    • 35439f1 fix: correct syntax error in prefer-arrow-callback autofix (#​16722) (Francesco Trotta)
    • 87b2470 fix: new instance of FlatESLint should load latest config file version (#​16608) (Milos Djermanovic)

    Documentation

    Chores


    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Enabled.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • Update dependency axios to v1.2.2

    Update dependency axios to v1.2.2

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | axios (source) | 1.2.1 -> 1.2.2 | age | adoption | passing | confidence |


    Release Notes

    axios/axios

    v1.2.2

    Compare Source

    Fixed
    Chores
    • chore(ci): set conventional-changelog header config #​5406
    • chore(ci): fix automatic contributors resolving #​5403
    • chore(ci): improved logging for the contributors list generator #​5398
    • chore(ci): fix release action #​5397
    • chore(ci): fix version bump script by adding bump argument for target version #​5393
    • chore(deps): bump decode-uri-component from 0.2.0 to 0.2.2 #​5342
    • chore(ci): GitHub Actions Release script #​5384
    • chore(ci): release scripts #​5364
    Contributors to this release

    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Enabled.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • Update dependency eslint to v8.30.0

    Update dependency eslint to v8.30.0

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | eslint (source) | 8.29.0 -> 8.30.0 | age | adoption | passing | confidence |


    Release Notes

    eslint/eslint

    v8.30.0

    Compare Source

    Features

    Bug Fixes

    • 1a327aa fix: Ensure flat config unignores work consistently like eslintrc (#​16579) (Nicholas C. Zakas)
    • 9b8bb72 fix: autofix recursive functions in no-var (#​16611) (Milos Djermanovic)

    Documentation

    Chores


    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Enabled.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • Update dependency prettier to v2.8.1

    Update dependency prettier to v2.8.1

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | prettier (source) | 2.8.0 -> 2.8.1 | age | adoption | passing | confidence |


    Release Notes

    prettier/prettier

    v2.8.1

    Compare Source

    diff

    Fix SCSS map in arguments (#​9184 by @​agamkrbit)
    // Input
    $display-breakpoints: map-deep-merge(
      (
        "print-only": "only print",
        "screen-only": "only screen",
        "xs-only": "only screen and (max-width: #{map-get($grid-breakpoints, "sm")-1})",
      ),
      $display-breakpoints
    );
    
    // Prettier 2.8.0
    $display-breakpoints: map-deep-merge(
      (
        "print-only": "only print",
        "screen-only": "only screen",
        "xs-only": "only screen and (max-width: #{map-get($grid-breakpoints, " sm
          ")-1})",
      ),
      $display-breakpoints
    );
    
    // Prettier 2.8.1
    $display-breakpoints: map-deep-merge(
      (
        "print-only": "only print",
        "screen-only": "only screen",
        "xs-only": "only screen and (max-width: #{map-get($grid-breakpoints, "sm")-1})",
      ),
      $display-breakpoints
    );
    
    Support auto accessors syntax (#​13919 by @​sosukesuzuki)

    Support for Auto Accessors Syntax landed in TypeScript 4.9.

    (Doesn't work well with babel-ts parser)

    class Foo {
      accessor foo: number = 3;
    }
    

    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Enabled.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • Update dependency axios to v1.2.1

    Update dependency axios to v1.2.1

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | axios (source) | 1.2.0 -> 1.2.1 | age | adoption | passing | confidence |


    Release Notes

    axios/axios

    v1.2.1

    Compare Source

    Changed
    • feat(exports): export mergeConfig #​5151
    Fixed
    • fix(CancelledError): include config #​4922
    • fix(general): removing multiple/trailing/leading whitespace #​5022
    • fix(headers): decompression for responses without Content-Length header #​5306
    • fix(webWorker): exception to sending form data in web worker #​5139
    Refactors
    • refactor(types): AxiosProgressEvent.event type to any #​5308
    • refactor(types): add missing types for static AxiosError.from method #​4956
    Chores
    • chore(docs): remove README link to non-existent upgrade guide #​5307
    • chore(docs): typo in issue template name #​5159
    Contributors to this release

    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Enabled.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • Update dependency eslint to v8.29.0

    Update dependency eslint to v8.29.0

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | eslint (source) | 8.28.0 -> 8.29.0 | age | adoption | passing | confidence |


    Release Notes

    eslint/eslint

    v8.29.0

    Compare Source

    Features

    • 49a07c5 feat: add allowParensAfterCommentPattern option to no-extra-parens (#​16561) (Nitin Kumar)
    • e6a865d feat: prefer-named-capture-group add suggestions (#​16544) (Josh Goldberg)
    • a91332b feat: In no-invalid-regexp validate flags also for non-literal patterns (#​16583) (trosos)

    Documentation

    Chores


    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Enabled.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • Update dependency prettier to v2.8.0

    Update dependency prettier to v2.8.0

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | prettier (source) | 2.7.1 -> 2.8.0 | age | adoption | passing | confidence |


    Release Notes

    prettier/prettier

    v2.8.0

    Compare Source

    diff

    🔗 Release Notes


    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Enabled.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • Update dependency axios to v1.2.0

    Update dependency axios to v1.2.0

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | axios (source) | 1.1.3 -> 1.2.0 | age | adoption | passing | confidence |


    Release Notes

    axios/axios

    v1.2.0

    Compare Source

    Changed
    • changed: refactored module exports #​5162
    • change: re-added support for loading Axios with require('axios').default #​5225
    Fixed
    • fix: improve AxiosHeaders class #​5224
    • fix: TypeScript type definitions for commonjs #​5196
    • fix: type definition of use method on AxiosInterceptorManager to match the the README #​5071
    • fix: __dirname is not defined in the sandbox #​5269
    • fix: AxiosError.toJSON method to avoid circular references #​5247
    • fix: Z_BUF_ERROR when content-encoding is set but the response body is empty #​5250
    Refactors
    • refactor: allowing adapters to be loaded by name #​5277
    Chores
    • chore: force CI restart #​5243
    • chore: update ECOSYSTEM.md #​5077
    • chore: update get/index.html #​5116
    • chore: update Sandbox UI/UX #​5205
    • chore:(actions): remove git credentials after checkout #​5235
    • chore(actions): bump actions/dependency-review-action from 2 to 3 #​5266
    • chore(packages): bump loader-utils from 1.4.1 to 1.4.2 #​5295
    • chore(packages): bump engine.io from 6.2.0 to 6.2.1 #​5294
    • chore(packages): bump socket.io-parser from 4.0.4 to 4.0.5 #​5241
    • chore(packages): bump loader-utils from 1.4.0 to 1.4.1 #​5245
    • chore(docs): update Resources links in README #​5119
    • chore(docs): update the link for JSON url #​5265
    • chore(docs): fix broken links #​5218
    • chore(docs): update and rename UPGRADE_GUIDE.md to MIGRATION_GUIDE.md #​5170
    • chore(docs): typo fix line #​856 and #​920 #​5194
    • chore(docs): typo fix #​800 #​5193
    • chore(docs): fix typos #​5184
    • chore(docs): fix punctuation in README.md #​5197
    • chore(docs): update readme in the Handling Errors section - issue reference #​5260 #​5261
    • chore: remove \b from filename #​5207
    • chore(docs): update CHANGELOG.md #​5137
    • chore: add sideEffects false to package.json #​5025
    Contributors to this release

    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Enabled.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • Dependency Dashboard

    Dependency Dashboard

    This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

    This repository currently has no open or pending branches.

    Detected dependencies

    github-actions
    .github/workflows/main.yml
    • actions/checkout v3
    • pnpm/action-setup v2.2.4
    .github/workflows/pr.yml
    • actions/checkout v3
    • pnpm/action-setup v2.2.4
    .github/workflows/publish_npm.yaml
    • actions/setup-node v3
    • actions/checkout v3
    .github/workflows/publish_release.yaml
    • actions/checkout v3
    • actions/create-release v1
    npm
    package.json
    • @ffmpeg/core 0.11.0
    • @ffmpeg/ffmpeg 0.11.6
    • axios 1.2.2
    • commander 9.4.1
    • lodash-es 4.17.21
    • minimist 1.2.7
    • multi-progress 4.0.0
    • progress 2.0.3
    • conventional-changelog-cli 2.2.2
    • eslint 8.31.0
    • eslint-config-prettier 8.6.0
    • eslint-plugin-prettier 4.2.1
    • prettier 2.8.1
    • node >=16.0.0

    • [ ] Check this box to trigger a request for Renovate to run again on this repository
    opened by renovate[bot] 0
Releases(v2.0.7)
HTML5

One file. Any browser. Same UI. Author: John Dyer http://j.hn/ Website: http://mediaelementjs.com/ License: MIT Meaning: Use everywhere, keep copyrigh

MediaElement.js 8k Jan 8, 2023
Scraper for TikTok. Download videos, music, fetch users info and more.

tiktok-scraper A fast light-weight scraper for tiktok to fetch and download video posts, video music, user info and more. Installation npm i tiktok-sc

null 41 Jan 1, 2023
Bookwise is a video library web app that consists of a collection of Videos

Bookwise is a video library web app that consists of a collection of Videos. It has features such as like videos, creating playlists, adding videos to playlists, adding to watch later, history, feed, etc. but of a specific niche.

Rutvik Umak 18 Jun 13, 2022
A JavaScript library for optimizing html pages with video content that prevents videos from loading on mobile devices.

?? js-vido — JavaScript Video Download Optimizer A JavaScript library for optimizing html pages with video content that prevents videos from loading o

Ariel Montes 1 Feb 9, 2021
An adorable lavalink discord music bot that has a lot of features inside it.

Laffey An adorable lavalink discord music bot that has a lot of features inside it. First Project of Weeb-Devs Features: ✓ High quality ✓ Support filt

null 81 Dec 31, 2022
A Node JS Express/Serverless demo application that creates a slideshow video using the Pexels image library and Shotstack video editing API.

Shotstack Pexels Slideshow Video Demo This project demonstrates how to use the Shotstack cloud video editing API to create a video using an HTML form

Shotstack 25 Dec 9, 2022
A Chrome extension to help you inspect Mp4 video content and find irregularities in video streams.

MP4Inspector A Chrome extension to help you inspect Mp4 video content and find irregularities in video streams. Installation In chrome navigate to chr

Bitmovin 48 Nov 28, 2022
Video.js - open source HTML5 & Flash video player

Video.js - HTML5 Video Player Video.js is a web video player built from the ground up for an HTML5 world. It supports HTML5 video and Media Source Ext

Video.js 34.8k Jan 5, 2023
Compress program that uses H264,VP9 and Vorbis algorithms with ffmpeg to compress anime videos and audios

Vaniply Compress tool to compress videos and audios using H264,VP9 and Vorbis algorithms Installation and running Just clone the repository and open a

null 18 Oct 15, 2022
Compress program that uses H264,VP9 and Vorbis algorithms with ffmpeg to compress anime videos and audios

Vaniply Compress tool to compress videos and audios using H264,VP9 and Vorbis algorithms Installation and running Just clone the repository and open a

OpenAnime 20 May 30, 2022
Enables

HTML5 video made easy All it takes is a single line of code to make HTML5 video and audio tags work in all major browsers. How to enable video and aud

Dave Hall 1.3k Dec 17, 2022
Create videos using React!

Reactive Videos are videos created using HTML and React components. This allows you to leverage the almost limitless possibilities of the web browser

Mikael Finstad 76 Dec 25, 2022
Play games or watch YouTube videos together on Discord !

Discord Together ?? Installation Install discord-together $ npm install discord-together@latest Install discord.js $ npm install discord.js ?? Featu

RemyK 186 Jan 3, 2023
Lightweight customizable placeholders for third party content of your website (e.g. Youtube Videos) compatible with the Usercentrics CMP.

Usercentrics Widgets Lightweight customizable placeholders for third party content of your website (e.g. Youtube Videos) compatible with the Usercentr

Netresearch 3 Nov 17, 2022
Um simples bot para o Telegram que baixa vídeos e áudios do TikTok & outras funcionalidades

Kelle Estella (Telegram) Um simples bot para o Telegram que baixa vídeos e áudios do TikTok & outras funcionalidades. Clique aqui para utilizá-lo. Com

Luis Gabriel Araújo 3 Apr 20, 2022
A program that makes scripting videos easier.

A program that makes scripting videos easier. Scripts can be written using only the keyboard.

Samuel Albert 18 Jun 22, 2022
A lightweight web component helper for HTML5 videos.

Video Radio Star A lightweight web component helper for HTML5 videos. Intended for use with muted by default HTML5 videos. Demo Demo out of viewport u

Zach Leatherman 58 Dec 12, 2022
Recap let's you recap on your favourite social network videos by downloading them on your devices, from the range of YouTube, SoundCloud, Facebook, Twitter, Instagram, TikTok, Vimeo, Dailymotion, VK, or AOL.

Recap A Social Network Video Downloader Recap let's you recap on your favourite social network videos by downloading them on your devices, from the ra

John Oladele 4 Sep 24, 2022
A simple package to download music tracks from spotify 🎵

A simple package to download music tracks from spotify ??

Alen Yohannan 26 Dec 25, 2022