从crunchyroll(或者其他网站)下载.flv视频并将其转换为.mkv。

crunchy2mkv的Python项目详细描述


简介

这个程序从各种视频网站(如crunchyroll、dailymotion、niconico、youtube和many more)下载视频,然后将它们转换为.mkv格式(无需重新编码视频)。为此,它使用youtube-dl和mkvmerge(来自mkvtoolnix)。

要运行此程序,您只需这样调用它:

$ crunchy2mkv http://www.crunchyroll.com/fatekaleid-liner-prisma-illya/episode-1-illya-grow-up-657285

这将以当前文件夹中可能的最高质量下载此视频(您可以通过-r /path/to/folder选项更改此视频)。您可以使用多个url下载调用该程序的多个文件。如果该服务仅限高级用户观看视频,您可以这样传递登录信息:

$ crunchy2mkv -u username -p password http://www.crunchyroll.com/fatekaleid-liner-prisma-illya/episode-1-illya-grow-up-657285

像这样跑:

$ crunchy2mkv -h

以获取所有可用选项的列表。

没有配置文件!您可以通过更改以下环境变量来更改某些默认值:

  • C2M_RESULT_PATH:设置所需的输出路径(例如:/home/m45t3r/VideosC:\Videos);
  • C2M_VERBOSE:使用True进行详细输出,使用False只打印用户友好的消息(默认值);
  • C2M_USERNAMEC2M_PASSWORD:设置您的用户名和密码;
  • C2M_QUALITY:设置所需的默认质量(一些有效选项:worst360p480p720p1080pbest
  • C2M_SUBS:设置所需的字幕语言(有效示例:allenen,pt""

如何安装

您需要同时安装youtube-dlmkvmerge(是mkvtoolnix的一部分)并将其添加到路径上的某个位置。最好的方法可能是使用分发包安装此程序。一些分发命令可同时安装:

$ sudo pacman -S youtube-dl mkvtoolnix-cli  Arch Linux

之后,只需使用完整路径运行crunchy2mkv,或将其添加到路径中的某个位置。

$ /random/path/crunchy2mkv -v  or PATH=/random/path:${PATH} crunchy2mkv -v

crunky2mkv和livedumper的区别

两者的主要区别在于crunchy2mkv使用youtube-dl,而livedumper使用livestreamer。这使得两者之间的行为略有不同。

例如,在Crunchyroll中,livestreamer模拟ps3 api,它使用hls协议带来高质量的视频。使用这个协议使得crunchyroll发送硬编码字幕(即与视频一起编码)。例如,youtube dl会攻击可用的flash视频播放器来获取音频/视频/字幕。crunchyroll的flash视频播放器实际上很特别,因为它们支持加密版本的advance substation alpha字幕,所以结果是软子视频,甚至可以包含不同语言的字幕。

crunchy2mkv非常简单:它基本上是一个包装youtube-dlmkvmerge的脚本。它没有livedumper强大,但这使代码变得更简单和更小。

关于python版本

此程序应与Python 2.7.xPython 3.2+兼容,但仅在Python 3.4.x中测试。如果某些东西不起作用,如果它在Python 2.7.x中,我可能会放弃支持,这取决于它是否太难修复(但请报告,我至少会研究一下这个问题)。如果是Python 3.2+,我会将其视为一个bug,以便您可以报告,我会尝试修复它。

学分

此项目基于youtube-dlmkvtoolnix项目。谢谢!

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

推荐PyPI第三方库


热门话题
java Orika映射嵌套的多次出现元素   java SparkShell:org。阿帕奇。火花SparkException:任务不可序列化   java在maven中排除依赖关系   Java:为什么我不能修改类实例中的变量   java项目生命周期中何时应使用mvn版本?   java Hadoop mapreduce 2文件过滤?   java通过流从文件中读取单词   ssl如何在不修改Java应用程序源代码的情况下发送没有证书链的TLS客户端证书?   c#需要文件跟踪程序   java在Android中关闭并打开应用程序后停止处理程序   java如何使用@Scheduled(fixedDelay)注释启动和停止外部运行的作业   html Java servlet导出到Excel   在WebLogic中找不到java类异常,在TomCat中很好   OSX 10.7(Lion)上的java Lejos