I'm going to create the automate API for youtube report. Is there a way to pull the number of users of each percentage (25%,50%) or second of video viewed via youtube analytics API? I use python language from link as shown below:
https://developers.google.com/youtube/analytics/v1/data_model
I found a metric name "audienceWatchRatio", but I'm not sure that's what I want or not? I tried to run the script including this metric with and without "elapsedVideoTimeRatio" dimension, and it always shows "The query is not supported."
Well, I found here in the Analytics and Reporting APIs on how to get the percentage viewed in the video. By using the averageViewPercentage you will get the average percentage of a video watched during a video playback. The only problem here is this parameter get the total percentage of the channel, not the specific or individual video.
Check this link if you want to check on how to use this parameter.
I also found a related question about your issue, but this question uses Javascript. So just check if it can help and give idea to you.
Calculate percentage of youtube video viewed with API
Related
I am looking for a way to find all of the 360° videos from Youtube using Youtube APIs for my research. Currently I haven't been able to find this feature from the Youtube APIs, or hack a work-around using available API functions.
Search results on Yuotube webpage can be filtered by featureto just show the 360° videos among the search results. Even replicating this functionality using available API methods would be a good starting point to my needs. Maybe this could be accomplished by using snippet's tags, but I haven't been able to make it work.
(This question is quite similar ;-) to :
Searching 360 degree videos using YouTube Data API?
. But that question remains unanswered after 8 moths, even though Google Youtube Data API support page states: "We support the YouTube Data API on Stack Overflow. Google engineers monitor and answer questions with the youtube-api, youtube-data-api, and youtube-v3-api tags." As I just came across this problem, I hope the question gets some attention.)
I have been struggling with this problem as well and have used a combination of approaches with limited results:
First, we use this method and add a publishedBefore filter for subsequent fresh searches (no pageToken) of the oldest result we have found. This enables us to get more than the 1000 results youtube apparently limits you to.
Second we found good lots of good results for the query #360Video, and we perform 2 sets of searches for that string: videoDimension: '2d' and videoDimension: '3d'. For all results, we query their contentDetails and make filter out those who's contentDetails.projection does not equal '360'. For good measure, we also do a '3d' dimension search without the query string.
Finally we combine all of the sets of results we retrieved. Unfortunately we do still seem to miss quite a few videos we spot test by hand. So far we have only been to query ~1000 videos. It seems like finding all 360 videos could require lots of manual work.
update: We have employed a manual step where we regularly scrape a list of user accounts, channels, and playlists with many 360 videos. This has yielded several hundred more videos at the least with, arguably, better quality. There might be a further step where we check all of the "recommended" videos for each of those videos and so on.
Well, I found in this thread that YouTube rolls out support for 360-degree live streams and spatial audio. And if you check the YouTube API documentation, there is no guide there that shows you how to use the 360 videos in YouTube.
So, YouTube 360 videos are not fully supported in YouTube API as of the moment. It is currently filed as a feature request that you can find here.
Hope it helps you.
So I was following the example of connecting to the YouTube Analytics API that can be found by clicking here.
When I run the above code I get the 52 views, however when I go to the page directly I see these numbers.
Why is it that I see such a large number when I go to the page directly but in the API its much smaller? Did YouTube Analytics start collecting data after a certain date?
Any help would be much appreciated!
I had the very same question. After a lot of research, finally I found the answer. According staff from Google, the views are measured from youtube page, where they can monetize your content, this is due a lot of advertisers use youtube to host videos and use them on ads on the hope to increase the views to show the "success" of the video on their campaigns, however this is not that smart since Google controls that number to prevent exactly that, would be too easy simply embed your video on a lot of pages and expect that to be counted to views without provide Google any chance to get money (while use their bandwidth and resources) :-/
I have a website that has a variety of embedded YouTube videos. When a user pauses a given video I want a screenshot to be taken of the playing video. Now, I've taken many approaches in tackling this problem such as copying the video frame to canvas (this doesn't work because the videos are external to my site), and also through the use of FFMpeg, and FFMpeg-PHP. The latter two- although very powerful- also do not work as the given piece of media has to be hosted on my server.
I'm at my wits end about what to do as I've spent countless hours trying to do this, and I'm ready to accept defeat.
Any ideas?
Regards,
Andre.
There's no supported method in the YouTube Player or Data API to take a screenshot of an arbitrary frame of a video.
I used the img.youtube.com/vi path to get the image. The function getScreen basically parses the youtube url and grabs the &v= argument to get the video id.
Since I use youtube.com/embed/ url format, then I had to rework the function a little to get the video id.
http://mistonline.in/wp/get-youtube-video-screenshot-using-simple-php-and-javascript/#
Is there any way to tell when a video has been fully encoded at its highest definition via the API?
As far as I can tell, the YouTube API provides the 'state' of a video (processing, restricted, deleted, rejected and failed). However, I can't tell if the API also provides the encoding qualities of the video (240p, 360p, 720i, etc...).
Does anyone know how to get this information?
Taken directly from the docs:
player.getPlaybackQuality():String
This function retrieves the actual video quality of the current video. It returns undefined if there is no current video. Possible return values are highres, hd1080, hd720, large, medium and small.
I'm writing a Boxee app that makes use of YouTube videos and I want to be able to display the highest quality version available. I was looking through the YouTube API, but I can't seem to find a way to detect if 720p and/or 1080p versions of the video are available.
Does anyone know how to do this? I'm already using their Data API to collection information about the video, but there doesn't seem to be anything in the payload about different qualities consumable on the web: http://gdata.youtube.com/feeds/api/videos/NWHfY_lvKIQ
I could just hard code fmt=22 and let it default to a lesser quality version, but then I miss out on 1080p (fmt=387).
The information isn't available through the API, but can be queried and changed via JavaScript after the page has loaded (if you embed a video for example).
http://groups.google.com/group/youtube-api-gdata/browse_thread/thread/da4344cc66959ecc