Probably never thought of before and if so, I haven't seen it here.
Video compression is always a problem. Mostly it involves the space required to store a larger video.
I wish there was a way where I could allow members to upload a video untouched (uncompressed) up to a specific size. In other words, videos under 100 megs would be delivered in their original format and any video above 100 megs would be compressed as required to minimize space usage and speed of delivery concerns.
I think this would be a very unique mod and would also push people to be better video editors trimming out the fat before uploading them.
http://towtalk.net ... Hosted by Zarconia.net! |
interesting thought - which leads to my questions about the compression and all. From my understanding - which could be totally wrong - the biggest issue is converting videos to a format that can be viewed in all browsers. Today, it is mostly html5. So, with this needed functionality, FFMPEG is used to convert and compress the video files. (again, this is my understanding and I could be totally wrong)
Now - with my thought process being as it is, how would your thoughts be managed as not everyone has videos in the same format? If I upload a 50mb avi file, your saying, I believe, that the video should be left untouched as it is less than 100mb. But then, how can you make sure that persons upload files that are able to be viewed in a web page. Biggest issue would be the different ways you can display a video on a web page based on the video file type and codecs needed for that video type.
So, it may seem that the existing compression may be the way to go as it makes every video in the same two formats, and keeps coding relative to those video types.
As I think about it, the site would have to first check the file size of the video. Then - if under do A if over 100 mb do B. If doing A - then determine the video file type, and use code to display that video. That may be a complex bit of code writing I think.
Not ragging on your idea, just throwing other thoughts out there. For me, the current conversion of videos is actually great for us. The ending result is way smaller than the original video files without losing any quality. Now, if there was a way to decrease (make faster) the time of conversion - that would be great. I hate sitting for 5 to 10 minutes waiting for the video to upload, then process. However youtube is doing it, I wish I could find out how and duplicate. I could see a lot of sites not being used because of the slowness of video uploads. Heck - even adding a video to facebook is a lot quicker.
caredesign.net |
the biggest issue is converting videos to a format that can be viewed in all browsers. Today, it is mostly html5.
HTML5 video is not a format, it is rendering, a player. There are currently three formats supported by the html5 video element. It is important to understand that there is no such thing as an HTML5 video format. The video formats are, MP4, WebM, and Ogg.
Geeks, making the world a better place |
Mpeg4 is a format that allows compression of video with good quality, you could continue to use mpeg4 for converting videos of a certain size and then fall back to the other formats. Ogg is actually a container format; along the lines of AVI. WebM is also a container format; WebM files consist of video streams compressed with the VP8 video codec and audio streams compressed with the Vorbis audio codec.
What you would want to do is to first determine the size of the input file, then determine the parameters to send to ffmpeg to determine the bitrate to use, etc. Keep the current output files that Dolphin generates when converting files.
Geeks, making the world a better place |
thanks GG for the clarification - which further supports my original thoughts. html5 only handles certain video formats. Would that be a safe assumption? And, if so, then what happens when a user uploads a format not handled by html5. caredesign.net |
if so, then what happens when a user uploads a format not handled by html5.
First of all, the acceptable video formats are set in the video settings. When a person uploads a format, it is sent through ffmpeg to generate the formats used by Dolphin in the HMTL5 module.
Geeks, making the world a better place |
understood - I am looking at this from the original idea - to keep videos under a certain size "as is" (if I am understanding properly). So, I guess the first question would be "What video formats does html5 work with?" caredesign.net |
All valid points. Maybe we need to look at this from a different angle.
The tech is getting better but in the past, it always seems like the video quality after a video has been compressed suffers terribly in Dolphin. I have also tried using outside video servers to support the content but they always change the rules and my users are left with broken links. Youtube is famous for this. Also, now Youtube is changing again and I fully expect the free side of Youtube will push the compression on it's uploaded videos to the ragged edge in order to save space. The only way you'll get high quality video from them in the future is to pay a subscription price.
So what to do? Currently, the video system presented with Dolphin seems to be working ok, not fantastic, but ok. It's not going to last. 7.2 needs to be ready. The question remains, how do we make this possible?
1.) Keep videos available forever on the site. Not lose them to a free sharing service.
2.) Present them in the highest possible quality, somehow allowing an end user to get the video as fast as his connection will allow.
3.) Set limits for the end user that would include not only the amount of videos they can upload but the file size max as well as total space consumed on the server and computed bandwidth use.
4.) Make an easy process to buy space on an outside server and connect directly to it from Dolphin.
We all know why YouTube constantly changes their connection and embed policies. It's a good way to flush the outside connections once in a while to clean things up and drive costs down. I don't want to be victim to that and I want my users to be able to come back to a video they uploaded 5 years earlier and have it still be there.
http://towtalk.net ... Hosted by Zarconia.net! |
For me - I actually like the "leave the video as is" concept. If I made a video, I want it to be viewed exactly as I made it - same quality and all. So, to use compression would be defeating that. So - the simpliest thing, I think, would be to find a video player that will play all video types on a web page, without the need for a lot of coding to accomplish this.
4) It is not that difficult to setup an outside server to store and serve the video files. I tried this a long time ago, but I got stumped on where to change the code in dolphin to store the uploaded videos on the other server. Pulling them from there was a somewhat breeze.
2) It is not a big deal to me to have them in the highest quality possible. I am more along the lines of an exact duplicate. If you took a sh***y video - guess what - everyone will see a sh***y video. That will learn ya to improve your video skills.
1) This would be a tough one. If you end up with a very successful site - you would really want to have the budget for all of that video storage. And not just the viewable videos, but a backup of them as well, in case your server crashes or something. And to keep forever - ugh - now I gotta setup a trust and assign someone as an executor to handle these things when I pass away. - ok, just kidding. But it does become mind blowing when I really start to think of all of the little details.
Just my 2 cents - but very interesting topic
caredesign.net |
understood - I am looking at this from the original idea - to keep videos under a certain size "as is" (if I am understanding properly). So, I guess the first question would be "What video formats does html5 work with?"
The video formats are, MP4, WebM, and Ogg.
Geeks, making the world a better place |
Some studying on video would be in order. The idea is to have a high bit rate, good video quality, and small file sizes; it involves tradeoffs. Bandwidth costs money. One thing by the way is the webserver, you might want to think about using Nginx; there is a reason that HULU uses Nginx for it streaming services.
Also, study up on ffmpeg since that is what Dolphin uses for video. Converting the video to a standard format used by HTML5 video element is not a bad thing; one can edit the ffmpeg parameters in Dolphin. Also, to improve rendering time, one need to devote more cores to video rendering; something I have played with since the server has eight cores and the site does not need all of them for Nginx.
Geeks, making the world a better place |