plasticbugs / mannmachine

YouTube to Podcast Converter with RSS Feed
0 stars 0 forks source link

I have a better alternative #1

Open sergio-fry opened 7 years ago

sergio-fry commented 7 years ago

Convert Youtube channel into audio podcasts with 1 click. Free webservice is available. With YF you can listen to your favorite Youtube channels as audio podcasts offline. Choose any podcast player you want.

https://github.com/sergio-fry/youtube-fetcher

plasticbugs commented 7 years ago

This is great! Nicely done. I recently updated my implementation using Node and React here: https://github.com/plasticbugs/podcasty

It uses the same tools (ffmeg, youtube-dl) - but handles async much better. I plan to deploy it as soon as I hook it into S3 to store the MP3s. I just built it for my own use and to put on my CV.

Best of luck and thanks for the comment.

sergio-fry commented 7 years ago

@plasticbugs I can't see any advantages of using async way because youtube-dl is a bottleneck. And it is not async.

I've used yt-audio-to-podcast for a while but memory goes away every time because we have a lot of connections the same time.

What do you think?

plasticbugs commented 7 years ago

yt-audio-to-podcast streams the audio on-demand, so I think that would be a problem for multiple users. The best way to handle may be having multiple workers transcode a requested feed. Maybe five simultaneous processes at once, so that five audio files could be transcoded simultaneously and the entire feed would be transcoded quicker. Something like this could be set up with AWS - but if you scaled to many users, this could become expensive.

When a user visits the feed page in my new implementation (https://github.com/plasticbugs/podcasty), the server presents the entire feed - even though the files aren't all transcoded. It transcodes one file at a time starting with the most-recent -- I call the function recursively until there are no more files left in the list. This puts a strain on the server if there is more than one user, so I'm considering creating a worker and a separate server to do the transcoding.

A suggestion for your feed: You might want to include the artwork from the YT channel and in the feed, the episode description for each entry. They're both available from the YT API. I also do a search by the YouTube channel name and provide the "uploads" playlist by default instead of asking for a playlist url. But that's really a matter of preference.

I've attached a screenshot of the feed in iTunes and the XML that https://github.com/plasticbugs/podcasty generates as an example.

screen shot 2017-07-20 at 11 57 40 am

nintendo.xml.zip

sergio-fry commented 7 years ago

Thank you for your suggestions! I have added a issues for that.

So you are agree that the bottlneck is cpu. That means that we do need async server for it.

BTW I have a public service

http://youtube-fetcher.russianpulse.ru/