Added support for muxing streams, specifically for reddit-hosted videos (now also supported).
This commit is contained in:
@@ -1,7 +1,8 @@
|
||||
'use strict';
|
||||
|
||||
const self = require('./self.js');
|
||||
const reddit = require('./reddit.js');
|
||||
const redditImage = require('./redditImage.js');
|
||||
const redditVideo = require('./redditVideo.js');
|
||||
const imgurImage = require('./imgurImage.js');
|
||||
const imgurAlbum = require('./imgurAlbum.js');
|
||||
const gfycat = require('./gfycat.js');
|
||||
@@ -9,7 +10,8 @@ const eroshare = require('./eroshare.js');
|
||||
|
||||
module.exports = {
|
||||
self: self,
|
||||
reddit: reddit,
|
||||
redditImage: redditImage,
|
||||
redditVideo: redditVideo,
|
||||
imgurImage: imgurImage,
|
||||
imgurAlbum: imgurAlbum,
|
||||
gfycat: gfycat,
|
||||
|
||||
@@ -4,7 +4,7 @@ const util = require('util');
|
||||
const config = require('config');
|
||||
const fetch = require('node-fetch');
|
||||
|
||||
function reddit(post) {
|
||||
function redditImage(post) {
|
||||
return Promise.resolve({
|
||||
album: null,
|
||||
items: [{
|
||||
@@ -18,4 +18,4 @@ function reddit(post) {
|
||||
});
|
||||
};
|
||||
|
||||
module.exports = reddit;
|
||||
module.exports = redditImage;
|
||||
38
src/methods/redditVideo.js
Normal file
38
src/methods/redditVideo.js
Normal file
@@ -0,0 +1,38 @@
|
||||
'use strict';
|
||||
|
||||
const util = require('util');
|
||||
const config = require('config');
|
||||
const fetch = require('node-fetch');
|
||||
const fs = require('fs-extra');
|
||||
|
||||
function redditVideo(post) {
|
||||
return fetch(`${post.permalink}.json`).then(res => res.json()).then(res => {
|
||||
return res[0].data.children[0].data.media.reddit_video.fallback_url;
|
||||
}).then(videoUrl => {
|
||||
const audioUrl = videoUrl.split('/').slice(0, -1).join('/') + '/audio';
|
||||
|
||||
return fetch(audioUrl, {
|
||||
method: 'HEAD'
|
||||
}).then(res => {
|
||||
const item = {
|
||||
album: null,
|
||||
items: [{
|
||||
id: post.host.id || post.id,
|
||||
url: videoUrl,
|
||||
title: post.title,
|
||||
datetime: post.datetime,
|
||||
type: 'video/mp4',
|
||||
original: post
|
||||
}]
|
||||
};
|
||||
|
||||
if(res.status === 200) {
|
||||
item.items[0].mux = [audioUrl];
|
||||
}
|
||||
|
||||
return item;
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
module.exports = redditVideo;
|
||||
Reference in New Issue
Block a user