Youtube Live Video embedding not allowed - youtube-livestreaming-api

I want to embed a Youtube Live Video inside a webpage. Some years ago this was not a further problem. At the weekend I created a new Youtube account for a sports club and Livestreaming was activated 24h after verification. Now I set "allow embedding" for the Livestream, but every time I create an Event with OBS and stream to this event, the "allow embedding" option is disabled. An older installation for another sports club has this option enabled every time I stream.
Once the Livestream is startet it is possible to change the option via YouTube Studio, but it should be the default.
Any ideas?

The moment you start the live stream the "allow embedded" is switched off. If you immediately after going live (during your intro video or waiting video) switch it back on again on the youtube website it works fine. But it is indeed an irritating bug.

Related

"Invalid state transition" response when switching from test to live

I have a problem with the YouTube Livestreaming API, and it is only causing a problem on one single account.
The CMS I support has a live to YouTube function that automatically schedules and delivers a livestream from our studios to YouTube as a parallel channel to our website. We support multiple teams who all authenticate their accounts against our application to do this.
About 6 weeks ago we had a single group report that they are no longer seeing their content streaming live to YouTube. All the other accounts, as well as our test channels, are working fine.
With the account in question we can see the livestream get created, the broadcast is created, and they are bound together. Once the encoders are started we are able to successfully transition the stream to "TESTING" without problem approximately 10 minutes prior to the scheduled start time. Where we are seeing the problem is in the final step where we transition the stream from "TESTING" to "LIVE" at the starting time of the broadcast. We get a response with "(#100) Status transition not allowed" when we attempt to transition to live. Prior to this step we retrieve the lifeCycleStatus value, and it shows as "TESTING".
If a user logs into YouTube Studio at this point, they are able to manually transition the stream to live.
The fact that this is working with multiple other accounts, and all are using a common code base and app, I am concerned that there is something about the account itself that is causing this issue. I have not been able to see any significant differences in the account settings when comparing with our test account.
Is there any way I can get further information about why the transition is failing, or something I should be specifically looking for as a potential problem?

How do I retrieve the "Audio in" from the api (For example, stereo 2.0, Dolby Digital Plus 5.1)

I'm looking to get some information from the Sonos API but I can't seem to find it.
In the Sonos app on the "About My System" page when you scroll down (And have a device connected to your tv) it shows "Audio in". I want that information from the API. Is that possible?
Hope to hear,
Kind regards,
Namanix
The Audio In field displays the audio format that Sonos home theater speaker is receiving. See Check the audio format in Troubleshooting low audio from surround speakers for details.
The Sonos platform enables the following line-in APIs and capabilities:
Use the loadLineIn command in the playback namespace to change the current group source to the line-in source of a specified player.
View the source type in the container object. Sonos home theater products use the linein.homeTheater type. See container in Playback Objects for details.
Products with line-in capabilities include the LINE_IN capability in the player object. See the groups object for details.
I'm not sure what you're looking for, but the Sonos Play:5 (gen1) has an UPNP service called AudioIn.
If my playbar switches to TV mode (I've turned auto switching on), than the CurrentURI changes to x-sonos-htastream:.......
Instead of building something yourself, you can also check-out this typescript/node library #svrooij/sonos.

Handle Variants in Live streaming using HLS

I was watching some videos in twitch.tv to be sure how variants work for live streaming.
I see that, in the beginning a master manifest is downloaded and then a playlist is selected. After this, I used tomcast to throttling network and I waited until videos resolution changes to other variant, but it did not happened never (video was lagged but continued downloading the variant video selected in the beginning).
My question is, if live-HLS adapts the streaming with the variants once it started to play.
The selection of what variant to play is done by the player. Every player is different, and Twitch uses their own. To understand why that specific player is behaving that specific way would require Twitch to comment.

YouTube Live Streaming and Timezone Information (GMT) in Creator Studio

We are making a live broadcasting software for YouTube. Following LiveStream API guide, we could successfully broadcast our live event.
One issue we encountered, however, is that we never get the correct GMT information for the event.
For example, even though we are on live from from South Korea, which is GMT+9, but according to the creator studio's page, all live events were
broadcasted from GMT-7.
Currently we’re using the following API: snippet.scheduledStartTime
https://developers.google.com/youtube/v3/live/docs/liveBroadcasts
The usage is like snippet.scheduledStartTime(1997-07-16T19:20:30.45+01:00)
As guided in http://www.w3.org/TR/NOTE-datetime
Is there any issue with Google's API for Timezone setting?
Thanks.

Streaming web video to Roku

Does anyone know how technically to send videos (i.e. Youtube Videos) to a Roku player? There is a "Twonky Beam" app that allows streaming and what it appears to do is to send .mp4 files to Roku for playback. See the demo here: http://gigaom.com/video/youtube-on-roku-twonky-airplay/
This is done without a "Twonky Beam" Roku app. Looks like something that Roku supports natively, although I cannot find anything documented.
I want to know how they were able to accomplish this without Roku being a UPNP or DLNA device.
Any insights here would be great!
There are discussions on how to extract the mp4 URL from YouTube here and here
In terms of how to do airplay style video playback on Roku, you would use the External Control Protocol to launch a channel with the URLs of the video you wish to play back, or once your channel is launched, us the ECP in combination with the roInput component to send the URL's to your channel. Your channel would then send the URLs to a video playback compoenent which would initiate playback from Youtube or whatever source you send it. If you want to play URL's from your device (android/IOS) you would need to run a web server on the device to serve videos to the device.
here is an Open Source YouTube project referenced in that second thread.
Any unofficial project that plays video's from YouTube is subject to DMCA takedown by YouTube should they decide your project does not fit with their goals.
roInput is not really well documented, here is an example that demonstrates both roInput and launch parameters (launch parameters are keywords you include in an http POST):
function main(params as object)
if params.parameter <> invalid then
print "This channnel was launched with Launch Parameters!"
print params
else
print "launched without input parameters"
end if
port=CreateObject("roMessagePort")
input=createobject("roInput")
input.setmessageport(port)
while true
msg=wait(100,port)
if type(msg)="roInputEvent" then
params=msg.getinfo()
print params
end if
end while
end function
so your parameters might be "vidurl=http://myserver.com/video300k.mp4&vidurl=http://myserver.com/video600k.mp4" if you wanted to send multiple bit rate videos.
there are plenty of examples of how to play video on a Roku in the RokuSDK, the simplest being the simplevideoplayer exmaple.
As to the last part of the question re UPNP, you can find a roku on your lan either via brute force telnet on port 8060 to every ip or by using SSDP, also documented in the ECP guide linked above