当我使用youtube-dl获取直接链接时:
https://r1---sn-p5qs7n7d.googlevideo.com/videoplayback?XXXX ....
并创建供用户下载的链接。
下载文件总是说videoplayback.mp4。
如何将其重命名为视频标题?
答案 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。
我不知道如何解决它,但这就是为什么我会考虑它。如果你找到解决方案 - 请展示它。几乎没有相似的问题;)