YouTube Live - Are Replay/DVR Function users counted as "live viewer"? - youtube

If you open a broadcast "event" with YouTube live, users are able to use a playback feature which allows them to watch the past 3 hours of the broadcast without leaving the interface - you simply can watch back like you'd do with a vod, but you are still in the broadcast you simply have control over the past buffered minutes.
Question is, are those people counted in the "view counter" on the bottom-right or not?
The API docs also never clearly specify if the use of the replay function effects the live view counter in the broadcast interface.
My hypothesis is that every active broadcasting viewer is counted into the "live view counter" no matter if he skips back few minutes or not as otherwise there must be huge jumps and drops in live view counters for larger broadcasts and it would skew the real-time broadcast metrics significantly.

YouTube is vague about what constitutes a view on purpose to preview view fraud.
I've run a few tests on live events and I believe anyone currently viewing a live even from the live player, even if their playhead is a few hours back, is considered a "live" viewer. After an event has ended, however, views are no longer counted as live views and are considered video views. The total number of views is generally incorrect until the live event finishes processing.

Related

Youtube Iframe Player API Developer Policy Inquiries

I would like to ask about developer policies of Youtube Iframe Player API(https://developers.google.com/youtube/iframe_api_reference).
Our team is currently developing an iOS app including Youtube embedded player.
We would like to check if our use cases below violate the rules for embedded youtube player.
Would it be okay if we use invisible player which we set opacity zero for purpose of getting thumbnail images in video?
Thumnails are taken by invisible player in the way as seeking to specific time and capture view at the time.
The thumnails are solely used for progress bar which consist of sequential images as green box in the below image and each image indicates each parts of video and there is no other purposes.
Images are made and used only in client local environment and not saved in our database.
Additionaly, can we provide the thumbnail extracted in the above method which background is removed?
Would it be possible that we hide below title bar which shows when player paused by adjusting CSS style, view frame size ?
Is there the other way to hide title bar ?
it seems that there are other mobile app services in Korea also using embeded player without titlebar like ‘Cake’ ( https://apps.apple.com/kr/app/cake-케이크-영어회화/id1350420987 )
We are developing feature ‘Metronome’ using BPM(beat per minute). for this, we need to use Audio PCM data in Video. regarding this we are currently examining three cases.
is it allowed to extract audio file from video to get PCM data?
is it allowed to access to device’s audio buffer to get PCM data?
is it allowed to record audio with mobile device to make audio file ?
Is it possible to provide a Metronome function that repeatedly plays a specific sound simultaneously with the audio of the Youtube video?
Would it be okay if we invert embeded player left and right? we plan to provide a mirror mode for user so that they practice dance conveniently.
Is it possible to provide a function that play repeatedly the specific time range (ex. from 00:05 to 00:10)?
Is it possible to provide a function that does not play immediately when the play button is pressed, but counts down for a certain period of time, such as 3 seconds, to play?

Cannot replay YouTube video on mobile twice when rel=0

The rel parameter in YouTube API dictates whether or not related videos are shown at the end. When rel=0 the video reverts back to the thumbnail with a play button.
However on mobile (tested on iPhone / iPad / Fire Tablet) when the video goes back to the thumbnail it cannot be played a second time. It just does nothing.
I reported the issue to Google but nothing yet after a few days.
I had to resort to destroying the video and recreating it but this makes for a kind of nasty flickering.
My experience with YouTube issues is they never seem to end up fixing anything related to iOS - so I was wondering if there was any other kind of trick to prevent this.
Test page
The trouble with refreshing a webpage at a specific interval is that you dont know exactly when the video ends so you need to develop a method which the video player sends a signal when the video ends, which would then start the script to refresh the page. Otherwise you end up restarting it in the middle of the video. so personally, I would not even mess with refreshing the page. For Audio players it works ok because audio is smaller and streams more quicker. Video dont.... they always stop to buffer.
So YouTube API uses "Events" and "Listeners", so in particular, you need to design around the Event: "onStateChange".
When onStateChange = "ended" (zero) the video has ended, so then you reload the video player with the same video and set it to its Ready State again.
In theory its very easy you basically need to setup and control the entire video player through javascript. And the API gives examples on that.
http://code.google.com/apis/youtube/js_api_reference.html
http://grizzlyweb.com/webmaster/javascripts/refresh.asp
http://code.google.com/apis/youtube/forum/
Have a look at loop and playlist parameters as well. You can set playlist parameter to video ID and same video can be replayed using this.
So, it will be something like:
http://www.youtube.com/embed/{VIDEO_ID}?wmode=opaque&loop=1&version=3&playlist={VIDEO_ID}
Hope this helps!
Appears to have been fixed by YouTube.
I can now play the video multiple times (on multiple devices) without it getting stuck. Was too busy wondering why my question was getting so little attention that I forgot to check again to see if it was fixed ;-)

How can we overcome the missing muted/volume property on HTML5 video on UiWebView/iOS Safari?

As many hybrid app developers know, Apple has decided to disallow setting the volume property of HTML5 video elements in JavaScript. This also amounts to the the muted property. The concept of muted videos which autoplay when scrolled into view and with the option of unmuting on tap is growing increasingly popular (pioneered by Vine, Facebook, etc.). I'm trying to find a way around this limitation in design. From what I've been able to read on the subject, there's not any hack or solution that solves this design requirement of mine.
Here's my thoughts so far:
I could split the audio from the video into a separate stream and sync current time with the video and call play() when the user is tapping. However, iOS Safari/UiWebView does not support simultaneous audio/video streams. Thus, this is simply not an option.
I could encode two videos, one with sound and one without. I could then swap the src on tap. However, this requires reloading the entire stream and also nearly doubles the amount of data required. The latency is noticeable. Thus, this won't be a viable solution.
I could embed a native AVPlayer class element in the webview. However, this would be an overlay and not be manageable from within the webview. Custom controls and UI interaction from within the dom would not be possible. Thus, this is not an option.
I could simply disable the output of the app and dynamically switch it on whenever the user taps a video element. However, to my knowledge this is not possible. I could show the native software volume slider, but that would defeat the purpose of this whole thing.
Do you have any suggestions or ways around this limitation?
I managed to find an acceptable solution. I split the videos into three files. One without audio, one without video and then one with both video and audio for desktop browsers/Android.
It seems like running simultaneous streams CAN work as long as they doesn't conflict with each other, which basically means a separate audiotrack and a video with no audio Channels play just fine in unison.

Record video inside of iOS app, immediately play and loop

I'm looking for a way for my users to take a video (defaulting to front facing camera, but with the ability to switch) lasting 2 seconds, display that video immediately and have it loop indefinitely (no controls displayed). Essentially mimicking a 2 second gif. I would like to do this in app so they can see the video before posting, and potentially retake. Any ideas? I've found some functionality here: https://developer.apple.com/library/ios/documentation/MediaPlayer/Reference/MPMoviePlayerController_Class/index.html#//apple_ref/c/tdef/MPMovieControlStyle but it doesn't seem to address the entire problem set.
Checkout this guide from Apple:
Using Video

Media pauses because of slow buffering, and then never recovers from it. How to handle this situation?

I think we all run into this as a user as well. For example, when I'm playing a Youtube video, and the connection is slow, it will not play until enough content has been buffered. But sometimes even after the content arrived it won't resume playing.
Most of the times when this happens I just click once somewhere on the player bar and it will resume.
Now, I think I've run into this situation while programming with HTML5 Audio elements and Youtube APIs. Most of the times they work well, but when the connection is spotty, it will just stop and never resume even after content has arrived. Is there a way to get around this problem? Thank you!
HTML5 Media Elements trigger a lot of useful events that might help you solve this problem. I would consider starting a timer when the waiting event fires (which indicates buffering) then periodically attempt to resume playing the track until canplay fires.
You could also call load instead of play then wait for canplaythrough fires (which indicates that media can play continuously without needing to pause for buffering).
Of course it's possible that the YouTube API prevents these events from propagating to the containing page, but it's worth a try.

Resources