tubearchivist / tubearchivist

Your self hosted YouTube media server
https://www.tubearchivist.com
GNU General Public License v3.0
5.09k stars 225 forks source link

[Feature Request]: channel audio mode #623

Open greg321321 opened 10 months ago

greg321321 commented 10 months ago

Your Feature Request

Provide an audio mode to channels.

User story #1:

  1. As a user, I want to play tube archivist channel content as audio only on my podcast app.

Expected Behavior #1:

  1. TA shall provide an "audio/video podcast RSS link" on the TA channel page.
  2. TA shall provide an "audio/video podcast RSS link" on the TA playlist page.
  3. Upon request of the "audio/video podcast RSS link" data, TA shall provide podcast data in accordance with the PSP-1: The Podcast RSS Standard.
  4. Upon request for audio media, TA shall provide podcast audio data utilizing ffmpeg on the fly transcoding.
  5. TA shall provide podcast audio data in mp3 format.
  6. TA podcasts shall be consumable by the following applications: Antenna Pod.
  7. TA shall protect podcast data from unauthorized access.
  8. When a podcast app sends more than one simultaneous request for podcast content, TA shall prevent simultaneous requests from negatively impacting the user experience on the main GUI.

Guidance per Simon bbilly: Step one is to have audio mode, that should be functional in the TA interface, so you can listen to audio only. This would have to be configured per channel, ideally the options would be: video only (currently), audio only, video + audio. This would give all options. Then audio only should download the mp3 directly with yt-dlp, and video + audio could use ffmpeg for post-processing to extract the audio from the video file.

Your help is needed!

bbilly1 commented 10 months ago

There are many popular podcasts out there that are pretty much talk shows, they have an interview that is filmed, but they are also a podcast, as in you don't really need the video to follow the conversation, but you might want to. So you might want to get the audio version in your podcast app, but also have the video version to watch the interview. I've also learned that YT has a separate /podcasts section:

Examples: https://www.youtube.com/@JupiterBroadcasting/podcasts https://www.youtube.com/@LinusTechTips/podcasts https://www.youtube.com/@H3Podcast/podcasts https://www.youtube.com/@ThroughTheWeb/podcasts

But some research also showed, that most podcasts are playlists and not channels, or group of playlists in a channel. So the previous thinking of having audio channels is still valid for music channels, but not really for podcasts and talkshows.

Audio download on a separate device shouldn't be handled in this application, there are a lot of great podcast apps that can take an RSS feed, we just need to parse the metadata correctly, feed specs is public, we should be able to produce this as expected then users can pick their favorite podcast app and TA is just the server. Audio file can just by <youtube-id>.mp3 as the feed will contain the metadata like title etc., so we don't need to burn our hands again with producing valid file names from an arbitrary unicode string.

Deleting should probably not happen automatically like that, might be better to have a delete audio files, delete video files functionality or something like that that's separate from that. As an archival project after all...

All in all, that's not fully thought through...

greg321321 commented 10 months ago

I updated the use cases per your above feedback. I agree we don't want to jeopardize the archive data. From your discussion points, I did not see a true need to persist the audio as mp3 format in TA. Instead, I believe a simple on the fly transcoding is all that is required.

greg321321 commented 10 months ago

I issued a pull request for an initial proof of concept. Works ok with two Android podcast apps. Needs more testing and some code polishing.

greg321321 commented 10 months ago

Screenshot of PodcastAddict playing TA channel content.

Screenshot_20231209-204150

greg321321 commented 10 months ago

Screenshot from 2023-12-10 08-39-04 Screenshot from 2023-12-10 08-39-16

greg321321 commented 10 months ago

pull request ready for review

circle3451 commented 9 months ago

Wouldnt it either way be nice to have the audio only option for music as well?

greg321321 commented 9 months ago

makes sense. I implemented both an audio and video RSS feed. Just waiting on admins to approve merge request so it can be tested further.

greg321321 commented 4 months ago

Now that custom playlist are on master branch, I added podcast links on playlists as well.

Dontkickmi22 commented 2 weeks ago

Second to audio mode function. Me welcome adding the ability to play any footage in audio only mode. May it be channel, playlist, recent download...etc . Every way possible. Talkshow, interview, music, movie, tutorial, unbox, review, news, you name it.