Youtube Music API for Uploaded music - android

Problem:
Youtube Music sucks for playing back music you have uploaded for years. The app sucks, and the Android Auto app sucks. I've contacted the YT Music team many times, but they don't seem to listen to music ever so they don't even understand the problem(s).
Solution:
Create my own app to play back my own music that lives in Google/Youtube Music. I'm an Android app developer so might as well fix this my own way.
Are there APIs for Youtube Music? I know there's an unofficial Youtube Music API, but that's phython, it doesn't build at the moment (Feb 2022), and it seems to focus on paid music, not my own uploaded library.
Would Google drive APIs do this? If so, is there documentation on how to use it? I can figure out the OAuth part, but I don't know where to get the data for the parameters in this sample api
Is there a better way for this? I just need to download the music files, and then create a player around them.
Thank you!

I was looking for something similar but the closest I got was ytmusicapi in python. It works for me and I installed it via pip install ytmusicapi. Its source is hosted on https://github.com/sigma67/ytmusicapi there, perhaps, you can see the YTM protocol. Authentication works by simply copying cookies from your browser after authenticating with YTM manually. That worked for me as well.
Another option is Kodi and a plugin they have: https://forum.kodi.tv/showthread.php?tid=360827 (but that did not seem to work for me after 3 minutes I spent on it).
If you are serious about it and you can't get YTM protocol via the source of ytmusicapi, then you can perhaps reverse-engineer the protocol using your browser. Firefox's Tools->Browser Tools->Web Developer Tools is your best friend. After you authenticate to YTM, open the "tools", click on "Library" on YTM webpage, then in "tools" tab, go to Network and look for a POST similar to https://music.youtube.com/youtubei/v1/browse?key=... right click on it and Copy->Copy as Curl. You will be able to see what auth-headers it sends and also what's the protocol for showing up your YTM Library.

Related

How do apps like 'Rave' play Netflix inside their own app?

So the 'Rave' app let's you watch Netflix, (YouTube, .. and other streaming services) with friends. It's easy to recognize that they use Android WebView to display the source website first. They then listen to URL changes, so they can detect that user's selected video, and then play that on their own Video Player (which probably is a webview too).
Now the question is, how on earth do they manage to play Netflix on their webview player? Netflix's DRM policy requires you to have the native android app or a browser on your computer.
Since Rave are managing authentication using the WebView, they must have found a way to circumvent the barriers Netflix has placed?
This has been a really interesting case study for me. It would be great to understand the legal implications of this too.
I did a lot of digging and tried to contact the developers of the said app. They didn't respond. However upon learning how any app implements DRM on Android, the answer was obvious.
They use ExoPlayer to stream Netflix shows on their app. I confirmed this by intercepting the traffic between their app and server in my own network.
The app (exo player) was regularly exchanging certificates with the official Netflix license server, as is required by WideVine.
TLDR;
Hence the obvious answer to this is that the company behind rave has obtained the rights to stream directly from Netflix's servers, as one cannot communicate with the Netflix license server without prior permission.
This can be confirmed on the LinkedIn profile of the lead developer as he vaguely mentions that he collaborated with Netflix while working on this.
Pretty disappointed

VOIP Library for Mobile(Android/IOS) and Web Application

I don't know it is suitable place for this question or not, if this is not the right place please redirect me to the right one. i am asking this question after spending 3-4 days. Please be with me.
I have a web app/Mobile app(Android and iOS) something like small ERP application. We want audio calling feature for the application, we have been looking for days but didn't get a suitable solution.
Our Requirement is
Browser - Browser Calling,
App to browser,
App to App,
browser to app
we don't need internet to phone feature. Ultimately we are looking for a solution that will allow user to call directly without knowing the phone number.
In my research i came across WebRTC, but didn't understand the logic.
so if there is any way (library or something) (free/paid), any kind of information will be helpful (article/library/webpage/explanation). To give me a path to move forward with the research.
thanks.
Paid Library :
1) Zipper -- It has native sdk for mobile and Javascript sdk for mobile or web. https://www.zoiper.com/en/voip-sdk
2) ToxBox is also good library for voice call. https://tokbox.com/
Open Source :
Try Linphone- Its good for voice calling - they also provide sdk for Mobile and web.
https://www.linphone.org
Open Source
http://www.pjsip.org/ - SIP platform based

How to compile Youtube WatchMe?

I am trying to (roughly) replicate the Sony Xperia "Live on Youtube" app. Since it is exclusive to the Xperia line, I am trying to build an app out of the Youtube WatchMe source code.
All I need is an app that can live stream video from the phone's camera to Youtube, as both of the apps mentioned above do. I know that WatchMe is meant to be nothing more than a reference for developers wanting to make apps that utilize this, but how possible would it be to modify the example code? I don't need a necessarily stable application, but something is better than nothing.
It would help even more if anyone knew of an app that already contained this functionality.
Due to sharing and open-source limitations of ffmpeg I wasn't able to distribute the built.
There were few people built successfully in here. They use ffmpeg + libx264 v2.3.
You'll also use Android.mk and ffmpeg-jni.c from the repo to build.
Take a look at TubeStreamer, now on Google Play. This is a work in progress but is currently working for streaming live video to YouTube.
I'm also trying to make this app worked.
I made it run on my phone, but with the wrong build method.
Here's my progress, just for reference.
I compiled the app on Eclipse except the libffmpeg.so.
Then, I got the lib file from someone provided on https://github.com/youtube/yt-watchme/issues/16
Finally, I push the file into the phone's directory "/data/app-lib/com.google.android.apps.watchme-1/libffmpeg.so"
After these steps and configure on Google develope console and Youtube, this app could run correctly.

Detecting Spotify Song Plays

I'm working on a mobile application that detects song plays from various media players, both on iPhone and Android. We currently support a number of applications in both platforms. Our application works in a similar way to how Last.FM detects and automatically scrobbles plays.
However, we have not been able to get a working solution for detecting Spotify song plays that does not need to use either Last.FM scrobbling (available in Spotify for Android only) or Facebook as a proxy.
I've tried a few things for android but as I understand it (I see lots of posts e.g. Find what song is playing in spotify on android), the Android Application does not broadcasts media related intents for song plays, so we need something more creative. In any case this does not solve our problem for the iPhone use case.
Lib-spotify held some promise for us, and I've manged to build an application that can create a session and navigate some playlists, but I have not figured out if I can load what would appear as "play history" in the Desktop Application via lib-spotify (e.g. is this a special form of playlist?). I have also tried a Spotify App to accomplish the same but the API appears to not to expose required functionality.
It seems like I've exhausted all avenues on this one, but does anybody have any suggestions for something I haven't tried?
Assume that I have spotify credentials for each user whose history I would like to gather.
Thanks
Spotify has a metadatachanged intent-action that contains artist, album, track, length, and id values.
See: https://stackoverflow.com/a/22195867/1345586
Unfortunately, the desktop play history is local to each machine, meaning it can't be accessed through libspotify or any other API.
At the moment, there isn't a way to reliably achieve what you're wanting to do on mobile platforms.

Webcam Live Broadcast android

Yesterday when I was searching for different kinds of apps in Google Play, I found several apps that broadcast live camera feed from the mobile. I made some research like what would be the concept. But could not find many details. Can anyone briefly give some idea? I want to try the same concept in one of my apps.
Ref: https://play.google.com/store/apps/details?id=com.pas.webcam
Check out this Google code project for android ip camera, it used nanoHttpd server for streaming video in android device
http://code.google.com/p/ipcamera-for-android/
download source and try it

Categories

Resources