Images for every youtube videos are hosted their server. You can image of any frame and can display on your site.
I want to do same with other video sites without using getting ffmmpeg installed. Because my share hosting service will not le me do this.
Please suggest me on the same. I want to do it in PHP
It won't work, at least given two conditions:
The video sites don't provide an API for you to extract arbitrary frames from the video. If they do, your solution will be video provider specific.
You don't want to write your own video decoder for the codec (for example H.264) in PHP. Note that this would be a extremely difficult task and the decoder would be really slow if implemented completely in PHP.
Point 1 is rather improbable, at least I don't know of any video site that does this. Point 2 is really really a lot of work, I'd say it's impossible without deep and profund knowledge of the video codec.
So I guess, your best starting point is to either drop this feature or use a hoster that offers you ffmpeg.
Related
I'm trying to build a site using HTML5's video tag so that I can share some movies I have made. Their sizes are pretty big (>500 MB), and when I watch them from outside my network, it seems like it's trying to download the whole thing before showing it. I'm wondering how I can make it so that they can be downloaded and watched at the same time.
I'm using php and javascript to build the site, although if there are libraries or techniques available in other languages, I'm more than happy to hear about them.
Video files on the web sometimes need to be encoded in a special way in order for them to be played while downloading. In order for flash based videos to work, data called "moov" must be moved from the end of the stream to the start. A program called mp4 FastStart can do this for you.
Programs like HandBrake have a "web" option that also does this when encoding. The data basically contains the length of the video, etc. Typically this was at the end of the file. However when the web came along that meant downloading the entire thing before being able to play.
Can you tell us what format the video is?
Being new to streaming videos:
I don't know how to properly ask the question
I don't know of the proper place to ask the question
I'll use YouTube as the base example
Let's say I render a video in high quality and I want to play it on my website with the embedded YouTube player (or jw). The video is hosted from my server, not YouTube.
Is there a way to force one set of users to see low quality vid and one set of users to have the option of seeing it in high quality (b/c of connection speeds they may not want hq)? I'm hoping to run a forum and the quality of the video would be a benefit to contributors or registered members.
I'd like to know how to do this server-side. I know the YouTube player has a quality param, but I'd like to be able to force the quality. If a scripting language is needed, I'm using Perl, but I'm open to a PHP alternative.
One other question that ties into this: if you have a video in hq, is it possible to play that in low quality, or would I have to render different versions of the same vid?
Thank you in advance.
Well, if you are hosting it yourself, the youtube player seems to be out of question, doesn't it?
To achieve what you are planning, the player plugin you are using has to support multiple qualities. Now, when generating the player embedding code in php, check if the current visitor is a user, if yes, supply the player with all video qualities, if not, just with the lowest one.
To display different qualities, you'd have to seperately render the videos.
I am wondering if there is a script similar to the facebook status update thing,
What I mean, is when for ex. I paste a youtube/other video site/image/link it automatically detects the contents of the page and associates an embed code with it (if its a video)..
So I'm wondering if there is a ready script that has a large database of websites and can associate video site url's with embed codes.
I could actually do something like that by myself but the problem is that I want to support a lot of websites, like facebook does.
Please help me find a solution.
Thanks.
Take a look at the Embedly API: http://api.embed.ly/
It gets the embed code for a lot of the popular video sites out there and also for some images sites. I highly recomend it,
you can try it out here.
You really wouldn't have to scan that large of a database. With videos, you could keep track of maybe the top three or so uploading sources (youtube, vimeo, metcafe...) and their embed codes.
As for images and links, those are pretty easy to detect and don't require any special embed code. By pretty easy, I mean very simple. Just use a simple regular expression to search for a link in their post.
If it's a picture, you can easily tell by looking at the file extension of the link (jpg, png, gif, etc.). If so, do whatever is proper to embed any old image. If it's just an ordinary old link (doesn't match any of your video sites, or doesn't end in a file extension for an image), just use the link itself.
The only marginally tricky part would be getting the unique embed codes for the video sites. But perhaps there is some external library/api that could do that small part for you (another answerer has provided has a proper API/pre-built library for this). However, images and links are mostly pretty simple.
EDIT It seems I misread your problem, and that you are only looking for pre-built libraries with video embed codes. In that case, the other answer is exactly what you want.
For a client, i need to write a complex application used to stream tv episodes in flash format, at least, the player will be in flash.
It's a first for me, and i've a lot of question, since i don't really know about streaming.
But well, first, here is the constraints :
Mac server (might be migrated to linux)
PHP5
Flash
external library could be used with PHP
What i need to do at first, is to write some app (php, python, shell), or find one to convert over 500 quicktime videos to be able to be read within a flash player.
Then, i'll a back office, to add videos with meta data (the meta data will be simple html inputs), and, here is an important part of the project, the ability to generate chapters for each video (manually), the client will choose the start of a chapter, give it a name.
My questions :
Is there any flash player able to do that ? or will i have to use 'playlist' such as youtube to simulate chapters ?
Will it be easy to use the quicktime video within a flash player ?
What would be your advices for such application ?
Thanks
You're probably going to want to install and run ffmpeg to convert quicktime movs to flv or f4v. You may be able to add cue points (chapters) by using something like FLVtool.
I want to make a video site in which we can upload the video in any format and display it like youtube. How can I do this? My whole site is in PHP I'm a newbie in the video streaming sp plz be descriptive with your answer
Thanks
First you need a VideoPlayer written in Flash / Actionscript, there are also a lot of free ones arround in the internet, e.g.: FlowPlayer, You also could write you own. You acctually do not net to buy Flash for this. The Flash/Flex compiler mxmlc is available for free. You could also write you Flashvideoplayer in Haxe (also free).
You you do not want the users to switch within the video you could deliver the videos via HTTP, other wise you need an streaming server like: FlashMediaServer (not free). There are also open source alternatives like Red5 or haxeVideo.
You you do not have the video available in the right format you need to encode them: the best tool for this task could be ffmpeg
I suggest looking at the html5 <video> tag, this is probably the simplest way. For an example look at the the one from surfin' safari.
Be aware that some browsers support ogg and others h264, but not both.
Encoding of the video can be made using ffmpeg on the server.
One of my websites does this, and it's a MASSIVE pain.
However, there are websites out there that'll take a video and convert it to an FLV for you (for a price), for example we use a service called Hey!Watch which is reasonably reliable.
If you really want to encode it to flash yourself, you're going to need a full copy of Flash and a LOT of time =]
There is this highly underrated post with 3 great links for open source solutions that are like youtube and fits perfectly your question (and at least another one):
http://www.vidiscript.co.uk/
http://www.phpmotion.com/
http://osshare.sourceforge.net/
I'm posting this here just to point out the links. I think 2 of those 3 questions should be marked as duped anyway.