So we all know that YouTube and other public sites re-encode your high definition videos down to 2MB/s quality. The logic being that the lowest common denominator (someone with a bad connection) can still reasonably see the video.
If you had your own server however, and wanted to upload your own content, to share with personal friends and family ... could you do this?
Is there a software or plug-in or other tool which streams high definition video that you could install on your own server?
Set your own speed to things, retain the high quality, and even adjust the height and width to be bigger for your viewers if you like?
If I could do this, I could just link family and friends to a higher quality, larger video than YouTube offers for High Def streaming.
Any input is appreciated.
-P-
+ Reply to Thread
Results 1 to 12 of 12
-
-
You sure can.
All you need is a web host, basic html skills, and a flash front end. Free ones would be flowplayer, and jw media player. The jw site even has tutorials and a wizard to auto generate scripts and template for you if you dig around the website
http://www.longtailvideo.com/players/jw-flv-player/
I already mentioned this in your other thread, but flash player overhead on top of http streaming overhead is very significant. Some videos that play smooth get reduced to stuttering when fed through flash interface, coupled with http streaming. But at least you could use higher bitrates and get better quality than the youtube 2Mb/s cap.
One option is to have several quality levels and sizes option offered on your site, so you can cater to all people with different kinds of connections and hardware (e.g. a 720p high bitrate version, a 360p low bitrate version etc...) -
Given that these would be linked-to on facebook or simply emailed directly to friends as a clickable link, I could probably have my programmer do some speed detecting for each user, and provide a solution based on that. That would be awesome.
To clarify your response about the flash player. Youtube is the worst option. 2MB/s. Without youtube, you're only limited by your own bandwidth. Im clear on that. However without youtube and WITH flash, you become limited again. Would you be able to quantify that limit?
Lets say Youtube is 2MB/s
No youtube would be whatever your speed is. Mine right now is clocking at 12.4 MB/s
With flash - what would that go down to, if you had to pick a number? Would it bring it down to maybe 6 MB/s ?
So I would want to encode for nothing greater than 6?
You said quality would improve without the limitation of Youtube, but how much would it improve with the limitation of Flash... -
Bandwidth is one thing, but "playability" or decoding efficiency in the flash player is another. It doesn't matter if each frame looks great but you are getting only 3fps playback...
Lets remove bandwitdth from the discussion for now. Lets say everyone has an OC-3 for example (both server and end user)
Even with unlimited bandwidth, the flash player imposes limitations on playback. It uses a different poorly multithreaded decoder (unlike when you use locally on your PC like ffdshow-mt, or coreavc or divx h.264). Also there seems to be an extra decoding lag associated with http downloading though the flash interface (even with limitless bandwidth). e.g. if you played that same video locally with a flash player build for testing it might be ok (but still far worse than a normal media player), but as soon as you use the same embedded flash player to stream via http, the video is choppy. But as soon as the video is completely downloaded to your cache (ie. you don't play it immediately before it downloads), it becomes fine again - this has to do with poor coding and nothing you can do about it right now until adobe rewrites flash (maybe by flash 11 it might get better)
You said quality would improve without the limitation of Youtube, but how much would it improve with the limitation of Flash...
I can't put a number on it . Way too many factors , settings , server config , load balancing, end user config,etc... play a role. You have to do testing for yourself. Even encoding settings like b-pyramid vs no b-pyramid can affect decoding speed. Often you use lower quality settings, but higher bitrate or vice-versa. If everyone is using overclocked core i7's, most videos can play nicely even when fed through flash interface. You will find that 720p30 @ 4-6Mbps will look way way better than youtube, and probably a good place to start. Bottom line: you have to test it out with your exact setup configuration with some different end users that have various setups. -
As always, PDR gives you the full-credit answer. Just like to repeat/expand on a few things -
1) To make decoding in a Flash player faster, you can tweak certain encoding options, but at the cost of more bitrate. (For example, reduce the number of B-frames and reference frames, turn off b-pyramid like PDR mentioned, etc.) Consult a guide/thread which discusses x264 encoding for streaming media.
2) Your client-to-server connection may easily not be maxed out if network traffic is bad. So the actual rate of downloading could be a lot lower than 12Mbps.
3) I actually think a bitrate of 4000-4500 will provide a very decent level of quality. (My 3Mps estimate in the other thread was flawed since it ignored the overhead from Flash.) This assumes you're using high-efficiency encoding settings in x264.
4) Make the video file directly downloadable so your friends who can't view it properly in the Flash player can download it. (Only a concern if you get complaints of jerky playback.) -
Thanks for all the input. I think the biggest challenge on a site like this, is keeping things simple.
Allow me to consolidate and rephrase for clarity what's been said so far. Please correct me where I'm wrong:
* YouTube is the best public option, but playback quality is limited by their 2MB/s speed ceiling.
* I can improve on youtube by offering a flash streamer on my own server.
* Playback quality is then limited by the flash player.
* One might reasonably expect to top out at 4-5MB/s with a flash player on their own server.
Here are some yes or no questions:
1) Are all flash players equivilent when it comes to the goal I have? None will "handle" high definition video better than another?
2) Youtube uses flash, correct?
3) You helped me through adjusting my Adobe Premiere/Encoder settings when we were tackling YouTube. Youtube hacks down my finished product and makes it a bit worse. With this solution, I would simply use the same exact encoding settings, but enjoy a less-hacked down version of playback on my own server, correct? Or are will this require a complete readjustment of encoding settings?
-P- -
Originally Posted by Priapism
2) Youtube uses flash, correct?
3) You helped me through adjusting my Adobe Premiere/Encoder settings when we were tackling YouTube. Youtube hacks down my finished product and makes it a bit worse. With this solution, I would simply use the same exact encoding settings, but enjoy a less-hacked down version of playback on my own server, correct? Or are will this require a complete readjustment of encoding settings? -
Very little difference in terms of performance between flash front ends. They all use Adobe Flash as the backend. Adobe keeps promising optimizations and GPU acceleration, but have yet to deliver. Maybe by Flash11 or 12...
The differences in the front ends are features; e.g. playlists, appearance, skins, dockability - stuff like that
Nope, Megui doesn't have streaming profiles. Generally the lower the compression settings, the better it will stream. e.g. Turning off CABAC will impair compression by 20-30%, but it will stream better. To compensate, you would need 20-30% more bitrate (but then that added bitrate impairs streaming - see the vicious circle?)
The 720p30 @4-5Mbps with decent settings will look significantly better than youtube, and is a realistic streaming option with a decent host and server
The other part(s) of the equation is shooting properly (e.g. tripod, proper lighting), and preprocessing for web (e.g. denoising , stabilizing) all these factor into optimizing the bitrate requirements for streaming -
Oh, thanks for the correction about the lack of streaming profiles.
4Mbps would be very decent, I think. That Vote trailer looked great at 3Mbps, so would you really need much more for streaming video? (Even if it's shaky camcorder footage...) -
Posion, would I be able to PM you a screen cap so you can confirm my settings for this particular goal of 720p and 4-5MBps? I just want to be sure because that sentence actually inclues about 30 different settings.
-
Originally Posted by Priapism
But remember there's lots of factors at play here, your best test is to set it all up and get some friends with different spec computers and ISP connections to test it out. -
Oh, yeah as far as checking speed and whatnot, I will do that. I am more concerned about encoding specifics for your first suggestion. A lot of people rattle off things like "4-5mB 720p" and the reality is, that alone could be fleshed out into 30 possible sub-settings. So its fairly hard for me to just open up Premiere and know what to do with all of them. Ill PM ya here in a bit.
Similar Threads
-
Recording Stream on local computer : Streaming Server Wowza Media Server 2
By iLove in forum Video Streaming DownloadingReplies: 2Last Post: 19th Apr 2012, 16:25 -
Need Windows streaming encoder for Quicktime/Darwin streaming server?
By The village idiot in forum Video Streaming DownloadingReplies: 0Last Post: 10th Feb 2012, 14:50 -
I want to make a streaming server for streaming into a PHP/HTML site
By cassiell2085 in forum Video Streaming DownloadingReplies: 0Last Post: 31st Jan 2012, 09:23 -
High definition DVD
By rene-rottingham in forum Newbie / General discussionsReplies: 13Last Post: 21st May 2010, 06:35 -
High definition conversion
By kypreo in forum Video ConversionReplies: 10Last Post: 21st Mar 2010, 22:15