Native (non-webview) streaming from YouTube? - cocoa

I see a lot of applications in the Mac App store, such as MiniTube and CloudPlay, which appear to stream high quality video directly from YouTube, without using any sort of embedded player.
However, I don't see any means of doing this through the documented API. Is their scraping (e.g. http://gitorious.org/minitube/minitube/blobs/master/src/video.cpp) illegal/against the TOS, or merely undocumented and unsupported? Is there a better way of doing it?
(In particular, the so-called "chromeless" iframe player actually has a significant amount of chrome/user interaction, which is more suitable for a website than for a native application.)
EDIT: I suppose my question is primarily for the official YouTube developer support: is scraping the page for the stream against the TOS? If it is, why are these apps allowed to remain on the app store, and if it isn't, what is the best way of doing so?

Never tried this, but according to this discussion here it's against the TOS to access the native streams. They also mention that you are free to access the rstp streams made for mobile devices through the api.
So I think scraping the page is the only way to get the higher quality videos without using an embedded player in your application. If you're okay with lower quality then use the rstp way.
Another discussion about the same subject.

Any scraping would violate YouTube's TOS. There are no undocumented APIs available either. For iOS the best provide option is to use the YouTube iframe embed, but that will be within a webview. For Android, YouTube is building a library to do playback without a webview. Here's a video of the announcement http://www.youtube.com/watch?v=3WFsx-u-q3Y&feature=player_embedded. It's not launched yet, but I know they've been working very hard on it and it should be available soon.

Related

Is it possible to protect from downloading an audio from a site

I want to create an audio-book application using Laravel.
Is it possible to protect from downloading an audio from a site ?
Is right click disable does the trick OR
What security measures will I take to prevent any audio files download ?
Meanwhile I have decided to use HTML5-Audio Player.
This question is complicated, and depending on how you deliver the audio, the answer will changes. I would recommend to look at how protected content are delivered on certain platform.
Let take a look at Spotify, they are using Widevine:
Widevine is a proprietary digital rights management (DRM) technology from Google used by the Google Chrome, Brave and Firefox web browsers (including some derivatives), Android MediaDRM, Android TV, and other consumer electronics devices.
Wikipedia
Simply disabling the download is only a frontend feature removed, that can be easily bypass. For protected content, more complicated solution are required like a DRM.

How Does Google Hangout works in Safari if WebRTC does not work in safari

i am creating small application using webRTC and Nodejs.
After many R&D i found that webRTC seems to Work only in Chrome and Firefox and may be in opera higher versions.
and also webRTC is only technology which enables media using browser.
if is it so then what technology hangout is using , which also works well in safari?
WebRTC is already out there. Companies are using it for point-to-point and multipoint voice and video.
Google Hangout it doesn't use WebRTC, Google's VP8 codec, or even the standard H.264 codec. It uses an H.264/SVC (Scalable Video Coding) variant of it.
Google Hangouts uses Vidyo. Vidyo has a proprietary plugin which they likely re-brand for Google. I know because I had about a 1-2 hour call with Vidyo in May and they mentioned Google Hangouts among their customers.
http://info.vidyo.com/VidyoH2O-for-Google-Hangouts-ga.html
Vidyo has reasonably high priced servers which they offer for medical applications, but we needed their API which we found out was priced at $100,000+.
The conclusion: stay with WebRTC and restrict your user's browser. Safari is expected by some to offer support next year and there are signs that they are porting code from Google Chrome. http://bloggeek.me/webrtc-apple-or-microsoft/
Limited IE support is offered by various plugins if you have the time and/or money for that. ex. OpenTok

Advantages and Disadvantages of Using Ajax on public page

I want to make a project like the Symptoms checker like WebMD did it
WebMD Symptom Checker
i want not logged in user to interact with it.
I dont want to make it in FLASH like webmd did it, i want to make it using JQuery and Ajax,
What is the Advantages and Disadvantages of doing a project like this using Jquery and Ajax , well, i will be implementing it using Zend framework
Does Ajax Requests on a Project like this and its on a public page affect on website security ? Does it affect on SEO ? What the disadvantage for using Ajax on this project
Well I don't know what you mean exactly by advantages and disadvantages but I think you mean that you want it implemented in HTML5 instead of Flash.
Flash strengths:
Flash is more ubiquitous (most of desktop users).
The Flash developer community is large and mature.
The developer tools are strong and well supported.
Designers are more comfortable in working in flash.
The 2D and 3D APIs are more mature and usable than Canvas.
Flash gives you better access to web cam and and audio recording.
Flash better supports streaming, secure and live
video.
Flash weaknesses:
Information embedded in Flash is often invisible to search engines.
Website reporting on Flash navigation is problematic and cumbersome.
Flash breaks web usability standards.
Lack of consistent cross platform support (not all devices have the same version installed).
Code embedding Flash objects doesn’t pass w3c validation.
Some users disable Flash to avoid flash based advertising.
Website updates continually require Flash skills.
Flash breaks Search Engine Site Previews.
Flash doesn’t work well with Mac OSX, and Apple’s mobile devices do
not support Flash content.
HTML5 strengths:
Better suited for mobile devices (lower battery consumption).
HTML5 uses DOM and HTML support, so plug-ins and 3rd party programs
are unnecessary for video and audio embedding.
Websites with HTML5 elements have greater consistency in terms of the
HTML used to code a page on one site compared to another.
More descriptive semantics
Richer Media Elements
HTML5 is the future.
HTML5 weaknesses
Only modern browsers support it.
The language itself is considered a work in progress
Rich media has to be compressed in multiple formats in order to be
compatible with most browsers.
You have to work with JavaScript
Of course you will find many libraries to aid you will using html5. There are great libraries out there other than JQuery such as Modernizer
The only problem I think that Zend framework might cause will working with HTML5 is that it still doesn't support the new HTML5 inputs.
UPDATE:
AJAX has no difference when it comes to security than the normal http request. Almost all security risks that can be expoited through normal http requests can be done using AJAX, so the ways to mitigate these vulnerabilities are the same.
As a general rule, search engines do not crawl content generated by JavaScript or Ajax. The most notable exception being Google's crawlable Ajax. But that only applies to Google and even then that's a bad idea.
To make your game more search engine friendly you will need to make content available via static links. Without these you essentially have a one page website which is very difficult to rank well. But it can if you obtain enough incoming links which is possible if your game is very good.

Non-flash / No-plugin Video chat?

We are developing a social website and looking to implement video/audio chat for users (people a user is friends with). Most of the talk from the tech team was to use flash. But I don't want users to install anything. Can video/audio/conferencing be done purely in AJAX? Either develop it from scratch or use open source frameworks if any?
Flash is already installed on practically ever browser out there -- except iPhones, iPads, etc. which will likely never support Flash.
AJAX and HTML and CSS currently have no access to video and audio input hardware, so that's a non-starter. In the future this may change.
For now Flash is (for better or for worse) the best way to go.
No, unfortunately you can only do this with a plugin (ie Flash).
I don't believe you have access to video or audio input devices from just the browser.
HTML5 will be the answer in the near future (Work in progress): Link1 and Link2
But for now the only option is Flash

Hosting recommendations for technical screencasts

I am asking this question on SO because a similar question was asked here and migrated to SuperUser, but the answers it got there were more about screen sharing than hosting screencasts. I'm hoping that some of you have faced (and solved) this issue before...
My team is putting together a bunch of technical screencasts, and we are currently hosting them ourselves. We would much prefer to host them externally, to take advantage of a bigger pipe, geographically distributed data centers, and better uptime.
The screencasts are typically less than 10 minutes.
Is there a programmer-centric screencast hosting solution? Would you recommend YouTube? Vimeo? Something else?
Since Jon's answer two years ago, there have been a few additions to the screencast market:
Screencast.com, by TechSmith. The makers of Snagit, Camtasia, and Jing have a place where you can host your Screencasts at any resolution. It's not as straightforward as Screenr, but it provides you many options to upload your videos. You can upload by file or directly from Snagit 11, Jing (Free), or Camtasia.
YouTube and Vimeo (Pro) continue to be good options if you're looking for a hosting platform and they now both support a large range of HD formats as well as supporting HTML5. The drawback (or benefit?) is that your video is going to be converted to their playback resolution(s) rather than your source resolution. Snagit 11 will even upload directly to YouTube now.
Screencast.com seems like a good option if your main concern is recording screencasts on the fly and getting them uploaded quickly.
YouTube and Vimeo are probably better choices if you want your videos to be visible to the widest possible audience.
While Vimeo is more of a professional site, YouTube offers HTML5 / H.264 video playback support for all videos, so they'll play on iPhone. Vimeo currently doesn't support that on user videos, and is planning on adding it as a pro feature in the future.
If you are really concerned about 1-to-1 pixel resolution in your screencast, Vimeo Pro is not the best choice. My files had an exact 1920 to 1080 resolution and I exported them from Screenflow in "lossless". It appeared very crisp on the Mac in Quicktime Player, but after uploading to Vimeo Pro, turning HD "on", I could not read the details.
Vimeo is quick, but they have a compression good for movie scenes, but bad for small computer screen fonts. I am trying screencast.com since they leave the file "as is".
Personally, I prefer to see videos on something like Vimeo rather than YouTube or a similar site. Vimeo has a certain air of professionalism about it while still be convenient and user-friendly. Also, you can put embedded videos on your support pages if you wish or simply link to the videos in FAQs or forums. It makes it very convenient. Again though, this is just MHO.
A popular modern option is Wistia. They are more expensive than say Vimeo, but they have excellent tools for collecting emails and for analyzing how well your videos are doing. Basically they are hosting combined with video marketing.
I decided to go with them for my indie-hacker screencasts site.

Resources