how to create a web player with ffmpeg and javascript if possible the source code for the web player
without using adobe flash player or HTML 5
Using ffmpeg to show videos in HTML 5 is a huge task. ffmpeg is not written in Javascript and you cannot use it for displaying videos in HTML directly.
However, there is a project named Emscripten that convert LLVM to javascript. Another project called Videoconverter.js uses it to convert videos formats in Javascript. But it cannot be used for playing videos.
Even if you can do it, it will not be efficient at all. Browsers that support Video tag use GPU acceleration, Flash uses GPU accelerations too. So the video play smoothly.
execffmpeg.js allows you to execute multiple consecutive ffmpeg commands with file piping in the browser, and then play the output video files in the browser.
Related
I understand that the best bet when streaming a video as a source in an HTML5 tag would be .mp4. But let's say that I have a source that only outputs fragmented to an ism/manifest.
Is there any way at all, whether through other libraries or messy hacks, that I can bring this video into something rendered as a tag onscreen? The closest I have found is Walkthrough: Building Your First HTML5 Smooth Streaming Player because it allows this to be done - but I neither have Windows 8, or want to have this running a server capable of .NET. I was hoping there was something, messy or not, that I could achieve this with entirely within javascript and executable locally without a deploy.
Thanks
Firstly, W3C does not provide a standard for adaptive bitrate streaming, yet. So for the time being most browsers only support simple progressive download playback.
Hence, there is no JS implementation of a Smooth Streaming player and Microsoft is not working on one, as far as I know.
The example you provide uses the "Microsoft Smooth Streaming Client SDK Beta 2 for Windows 8" which is a C++ library and is only available for Windows Store Apps development. It has nothing to do with browsers.
So, unfortunately this is not yet possible. Even more, I doubt that this will ever happen, because everybody is waiting for MPEG DASH to be finalized.
UPDATE.
Please, notice that you always can use Siverlight application for playing SmoothStreaming. The referenced HTML5 Player framework is capable of falling back to Silverlight.
no luck for Microsoft Smooth Streaming, but regarding MPEG-DASH which is similar (see http://blog.johndeutscher.com/2013/06/10/mpeg-dash-preview-from-windows-azure-media-services):
"Dash.js is permissively licensed (under the BSD license) and can therefore be studied and reused by anyone seeking to provide their own DASH-AVC/264 compliant player. The goal is to make it easier for third-parties to build adaptive streaming video players."
http://msopentech.com/blog/2013/06/20/ms-open-tech-contributes-to-open-source-adaptive-streaming-video-player/
also see:
https://dvcs.w3.org/hg/html-media/raw-file/tip/media-source/media-source.html
which is required for Dash.js
I want to add video upload support to my small school and after some research i came across sample code:
exec("ffmpeg -i ".$dynamic_path."/".$ moviepath."".$fileName."
-sameq -acodec mp3 -ar 22050 -ab 32 -f flv -s 320x240 ".$dynamic_path."/".$flvpath."myflv.flv");
I understand this will guarantee conversion, but am using shared hosting, so i would like to know what kind of format flash supports and is their any javascript/flash support to play video files without conversion.
thanks
This is what our company does for a living, and we have arrived at mp4 being the standard for nearly every highschool/college/university in the country - the definitive list can be seen here:
http://helpx.adobe.com/flash/kb/supported-codecs-flash-player.html
The video player that they all seem to prefer is the JW Player, and it can be found at http://www.longtailvideo.com/players/jw-flv-player/. Another is Flowplayer, though my experience on this one is limited. The only difference between JWPlayer paid/free is the watermark, so you can experiment with this and Flowplayer before you buy one.
I want to put one audio player in my website. For that I need to know if user's browser have flash player installed. Otherwise I will use different player to play audio file(.wav).
I will be glad to know its solution by either javascript or coldfusion. Thanks!!
Take a look at Adobe Flash Player Detection Kit. It includes client side detection using javascript.
My application is written in Adobe Air & JavaScript and doesn't use Flash/Flex.
Air.Sound() is used to play (shoutcast) audio streams.
I'm looking for a solution (without using external Flash/Flex players, coz) that can preload (buffer) a few second of audio stream to avoid playback lags and keeping memory usage low.
As far as I know Air 2.5 added Audio and Video html5 tags.
For shoutcast and html 5 audio see this question
Edit: Apparently AIR left out the audio/video tags (because they are an alternative to flash and you get flash on AIR - the way adobe looks at it). So I think the answer is you can't do it without flash. Even if it had the audio tag you'd most probably need to tweak the output streams from the server.
Is there a way to play video on a webpage with javascript without Flash Player ?
HTML5 will support video playback via the <video/> element. See here for more details, and here for implementation details.
You can always embed Windows Media, Real Player or QuickTime directly into your page. There's also Silverlight, if you're simply looking to avoid Flash. If you don't care how it looks, you can build a low quality player in Java. On some browsers, there's the HTML 5 video tag, but there's no real standardization on CODEC just yet.
There's always the poor man's alternative of just loading a bajillion individual frames as .gif/jpg/png and having javascript display them in sequence. It would be absolutely horrible for bandwidth and memory usage, and of course no audio, but it would (somewhat) simulate video being played.
Of course, on Windows platforms, you could use ActiveX and/or embed media player and play avi/wmv files as well, without ever touching flash.