I am currently working on a web application for video processing. Here is the situation:
I have a mp4 h264 video as input, I split the video in multiple avi files. Each avi file is processed individually generating another avi file as an output which is immediately encoded back to h264 and is now ready to be displayed in my web application.
The problem is that in need to play those video chunks as if they were a single video but I have not been able to accomplish that in a proper way. I have tried the following solutions without having the expected results:
JW Player: Each time a chunk is played, the player goes black and as far as I know it is not plausible to pause it on the last frame
Flowplayer: Videos wont reproduce on googletv's chrome browser
HTML5 video tag: Behaves extrangely on googletv's chrome browser not playing the chunks completely when the src attribute changes and no playing at all less-than-1-second-chunks (It works fine on linux)
Any Ideas?
Related
I am stuck on one issue from last 1 day. I am using Adobe flex video display to play video for my site.
There is some converted video from MKV to MP4 using ffmpeg.
ffmpeg -i Test.mkv -vcodec copy -acodec copy Test.mp4
Now, i am trying to play that video from local it's working fine. But when i upload that video on server and trying to play video. Then it will not work with flex VideoDisplay same will work in browser and HTML videoplayer and also works with JWPlayer.
Other mp4 video which are not converted works very fine. Only converted Videos are not working in only flex VideoDisplay.
I am Just playing using.
<s:VideoDisplay id="videoDisp" autoPlay="false" autoDisplayFirstFrame="true" />
And give path to videoDisplay like:
videoDisp.source = Video_path;
My video file Video and Audio codec is as shown in below image:
Any help will be appreciate,
Thanks.
For my first tests, I saw an #2032 error, which is a stream error, and I think it's caused by the size of your video, because Flash player is trying to download the whole video before starting playing it, and I think there is a timeout or something like that which fire that error. So to avoid that, you can use qt-faststart to move metadata and offset information to the front of the file which will help to play it more quickly.
You can download that tool from here or if you are a fun of python you can try it from here. I will also upload a copy here for Win64.
Hope that can help.
I have a a little bit complex website mechanism for loading video,
and I have tested it in several ways,
First I have these 2 videos
the first one is a very light video with only 20seconds duration and is not HD I think and it is even less than 1MB
the second one is a video clip that runs like 4 minutes and I think it is HD and the memories are like 90MB,
Both are in mp4 format
I have both of the videos in the server,
I tried to run those videos both in IE11 and Google Chrome by streaming them from the server with "video" tag in HTML5 and both of them runs very smooth (one video at a time)
Next, I tried to save the video in a client-side storage using IndexedDB so that in the future, the browser does not have to stream it anymore,
those videos are saved as blob and then stored inside the IndexedDB (except in the Google Chrome I have to save those videos or any files as ArrayBuffer as Chrome does not support the blob inside the indexedDB just yet),
When I load the video from the indexedDB, I convert the blob to an objectURL using createObjectURL() and play them in the video source, (for Google Chrome I have to load the arrayBuffer and then convert them first to blob)
While in IE11 both videos are running fine as usual,
but in Chrome I can only play the first video (the light one), as for the second video, it never played on Chrome! I have no idea how can this happen as the 2nd video plays well if it is streamed.
Here is the properties of both videos:
On the left is video with 89MB and the right is 300KB
Can anyone tell me what I am doing wrong here? or is it just not supported in Chrome for HD?
In my website there is video uploading facility. When User uploads video , My code convert the video format from (mp4,wmv,3gp,avi) to .flv format after compressing video size.
on desktop format, everything is working fine. But on mobile browser I haven't get an good player for playing .flv files in all browsers. Can somebody will help me to find a free .flv player support all mobile browser. I hjave searched on google and doesn't find any thing useful . I have tried with html5 player, but it doesn't work for .flv files. I also tried with object player, which is not running in mobile browser.
Another one thing, downloadig .flv video wll be played in mobile or not?
A mobile device will want to play an MP4 file. It won't know how to play a FLV file (unless the FLV file is really an MP4 file in disguise, which happens sometimes). The solution is for your website to transcode to MP4, not to FLV. If you have a desktop website solution that already plays FLV files, it's probably Flash-based, and it should be able to play MP4 files just as well.
This MPEG-DASH stream
http://54.241.9.147/new-fandor/vod/21/2157/dark_star_FILM_v11.smil/manifest_mpm4sav_mvlist.mpd
doesn't play in dash.js -- it plays the first segment at the lowest bitrate, switches to the next higher bitrate and stops after loading the second bitrate's init information. You can see this by pointing Chrome at the dash.js reference player, entering the stream URL in the top box and hitting Load. Open the JavaScript console to see that dash.js reported a media error, which means that the video element had a .error.
The same player is able to play this stream in IE11 without error.
These streams, each of which contains only one of the bitrates that play in the above sequence, both play without error in Chrome, so it's not that the underlying media is just somehow corrupt.
http://54.241.9.147/new-fandor/vod/21/2157/dark_star_FILM_v11_0.smil/manifest_mpm4sav_mvlist.mpd
http://54.241.9.147/new-fandor/vod/21/2157/dark_star_FILM_v11_1.smil/manifest_mpm4sav_mvlist.mpd
Any ideas?
A Chromium person says that this is due to audio sample rate switching, which Chrome doesn't support yet: https://code.google.com/p/chromium/issues/detail?id=315330 Although each of our videos' video bitrates should have had the same audio bitrate, some videos had different audio bitrates for different video bitrates. The solution was to reencode those videos correctly.
I am trying to understand the HTML5 video tag and how it plays/buffers chunks of streamed data from a WEBM file.
If I break a WEBM file up into say 10 chunks and feed them all into the video tag, the video plays fine. However if I only feed the last 5 chunks into the video tag it doesn't play.
I get...
INVALID_STATE_ERR: DOM Exception 11
Are there some bytes at the start of the file that are needed?
Does the video tag need to know the specific location it is at in the video to play it? i.e. the content-range
How can I just play a specific chunk(s) of the video?
Thanks
I found out prety much all I needed to know on a google group for Webm.
Heres a link...
https://groups.google.com/a/webmproject.org/forum/?fromgroups=#!topic/webm-discuss/6ySds58ZhEQ