使用youtube-dl获取直接链接和下载时,如何重命名文件?

时间:2017-05-05 06:11:26

标签: youtube-dl

当我使用youtube-dl获取直接链接时:

https://r1---sn-p5qs7n7d.googlevideo.com/videoplayback?XXXX ....

并创建供用户下载的链接。

下载文件总是说videoplayback.mp4。

如何将其重命名为视频标题?

2 个答案:

答案 0 :(得分:1)

很简单!
在命令中,添加-o选项,例如: import { isNetworkAvailable as isNetAvail, addNetworkCheckListener, removeNetworkCheckListener } from '../../Utils/NetworkUtils'; constructor(props) { super(props); this.isNetworkAvailableBinder = this.isNetworkAvailableBinder.bind(this); } componentDidMount() { addNetworkCheckListener(this.isNetworkAvailableBinder); if (isAndroid()) { this.checkAndroidNetworkAvailable(); } } componentWillUnmount() { removeNetworkCheckListener(this.isNetworkAvailableBinder); } checkAndroidNetworkAvailable() { isNetAvail((isConnected) => { // Check isConnected for ANDROID if(isConnected){ alert("Connected to internet"); } else { alert(" Not connected to internet"); } }); } isNetworkAvailableBinder(isConnected) { // Check isConnected for IOS if(isConnected){ alert("Connected to internet"); } else { alert(" Not connected to internet"); } }

在Python代码中,只需在ydl中添加outtmpl选项,例如:
youtube-dl -o '%(title)s%(ext)s' https://www.youtube.com/watch?v=XA6bS8TyN10

有关更多详细信息,请阅读https://github.com/rg3/youtube-dl#output-template

答案 1 :(得分:0)

°获得标题,仅限于:

youtube-dl -e https://www.youtube.com/watch?v=XA6bS8TyN10

-e选项的全名是--get-title。更多信息,一如既往 - 手动。

°要获得直接链接,只需:

youtube-dl --get-url https://www.youtube.com/watch?v=XA6bS8TyN10

°要强制用于下载的文件名 - 您需要覆盖youtube的HTTP Content-Disposition。 HTML5为download提供a属性,这很可爱,但实际上不起作用(在这种情况下)。如果是,代码可能看起来像:

<a download="saveAsThatFilename.mp4" href="url">foo</a>

但在这种情况下无法正常工作。我想你不会使用任何类型的代理(这将是最简单的方式,但当然不是最好的)。然后好的选择是javascript。

有趣的选项是github: FileSaver.js

我不知道如何解决它,但这就是为什么我会考虑它。如果你找到解决方案 - 请展示它。几乎没有相似的问题;)