下载一个youtube mashup视频并将其拆分为一个带标签的音频文件列表

mashdown的Python项目详细描述


mashdown将下载一个youtube mashup视频,并将其拆分为单独的音频文件,其中包含文档化的音频标签。

warning:要使mashdown正常工作,视频必须附带一个tracklist,列出每个曲目的开始时间和曲目名称。tracklist可以在youtube描述中,也可以在本地文件中。这是一个完美的候选人。

安装

要安装mashdown,只需使用pip:

$ pip install mashdown

示例

下载并拆分mashup

$ mashdown \
    --audioformat ogg \
    --album "The Lord of the Rings Sountrack"\
    --artist "Howard Shore"\
    https://www.youtube.com/watch\?v\=upzOSSQWSYU

拆分本地mashup

在本例中,不会下载mashup。youtube url仅用于获取tracklist信息。

$ mashdown \
    --audioformat ogg \
    --mashupfile path/to/mashupfile
    --album "The Lord of the Rings Sountrack"\
    --artist "Howard Shore"\
    https://www.youtube.com/watch\?v\=upzOSSQWSYU

用法

usage: mashdown [-h] [-m MASHUPFILE] [–input-audioformat INPUT_AUDIOFORMAT]
[-f AUDIOFORMAT] [-o OUTPUT_DIR] [-q] [–artist ARTIST] [–album ALBUM] url

Split a Youtube mashup video into a list of tagged audio tracks

positional arguments:
url The youtube link to the mashup.
optional arguments:
-h, --helpshow this help message and exit
-m MASHUPFILE, --mashupfile MASHUPFILE
The local path, relative or absolute, to the mashup file.
--input-audioformat INPUT_AUDIOFORMAT
The prefered audio format for the source mashup file.
-f AUDIOFORMAT, --audioformat AUDIOFORMAT
The export audio format. Examples: ‘mp3’, ‘ogg’, ‘mp4’, ‘flac’, …
-o OUTPUT_DIR, --output-dir OUTPUT_DIR
The directory in which the output directory will be created.By default, the current directory will be used.
-q, --quietRemove non important log messages
metadata:
--artist ARTIST
The artist name
--album ALBUMThe album name

依赖关系

mashdown取决于以下库:

  • pydub(需要在系统上安装ffmpegavconv)来剪切视频文件并导出音频段
  • pafy,下载YouTube视频并获取其元数据
  • mutagen,编辑音频文件元数据

释放量

0.1.1

  • 曲目名称可以位于曲目开始时间之前或之后
  • 添加了单元测试

0.1.0

初始版本

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Jgit对于给定的存储库,我们如何确定新提交的列表,以及每个提交来自哪个分支?   从MS Access数据库添加java ComboBoxItem   如何禁止Java列表中不同类的实例?   java在没有Web的JAXR上使用Shiro过滤器。xml   由于java原因,无法在Ubuntu上安装Netbeans 8.2。awt。未找到恐怖和辅助技术   java JUnit对RuntimeException的处理(特别是)   java空集合在Apache CXF服务(JAXWS)中被转换为null   java CannotAcquireLockException问题   sql如何在数据库中对(Java)枚举建模(使用SQL92)   安卓在Java中获取友好url后面的文件名   java如何访问数组名以获取列表?   javascript Java Nashorn longBitsToDouble   java控制台<init>错误   java将一个LinkedList追加/连接到另一个LinkedList的最有效方式是什么?   Java for正在跳过的循环   java帮助创建带有动画的复杂Swing GUI   java Android编辑文本。setHint在片段中不工作