People like this format. GIF, gyfcat, Vine, and now this. Instagram and WebM on 4chan also have things keyed to this behavior. But the thing that GIF has on all of them is that it works everywhere. It plays in a browser, in an email, on the desktop, in an MMS message, etc..
We need a full stop replacement for the GIF that uses a modern encoder.
Keeping in mind that one of the big advantages of GIF is NO AUDIO.
It's just deeply anti-social to play audio in some contexts, and a file format which enforces that is a very good thing.
Perhaps GIFV or equivalent should be defined as either requiring the browser not to play audio or as making audio optional, but required to default to off at start of play. The latter would require a minimal transport control, but I could live with a transparent mouseover-only volume button. There's no technical reason that a GIF successor must include or play audio. For that matter it would make a greasemonkey script or perhaps extension that forced sound off for regular mp4 much easier to write in this case.
It also isn't only useful for computers. It helps people to know what they're getting into when they open a file.
An mp4 with a gifv extension makes sense to me. It says "I'll be loaded without audio and will play in a loop".
Imgur is serving text/html in their ".gifv" files. If you tried to load a gifv in a <video> tag it would crash and burn on you because...it's serving you an HTML document with a text/html MIME type.
Imgur will happily serve you GIFs and JPEGs with incorrect extensions - for example, if you get this image with a .gif extension, it's going to serve you a JPEG, and it's going to be decoded by libjpeg. The extension doesn't provide any useful information to the client about what to do with the data.
$ wget http://i.imgur.com/hDYj7E7.gif
--2014-10-09 14:00:53-- http://i.imgur.com/hDYj7E7.gif
Resolving i.imgur.com (i.imgur.com)... 23.235.47.193
Connecting to i.imgur.com (i.imgur.com)|23.235.47.193|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 158352 (155K) [image/jpeg]
Saving to: ‘hDYj7E7.gif’
2014-10-09 14:00:53 (865 KB/s) - ‘hDYj7E7.gif’ saved [158352/158352]
$ identify hDYj7E7.gif
hDYj7E7.gif JPEG 577x1024 577x1024+0+0 8-bit DirectClass 158KB 0.000u 0:00.030…to browsers.
Full-screen mpeg-2 (DVDs) was doable with a $40 device over a decade ago. Video compression is definitely a worse-is-better space.
As all current platforms, including mobile because of dedicated hardware, have absolutely no problem with playing H.264 video while bandwidth is still a scarce resource I think it is logical and wise that H.264 won over MPEG-2 or other older codecs.
Don't forget that larger file size also might mean more power consumption (storage and radio need to be active longer) even if less CPU is consumed.
An important feature of gifs is that you know they will not make noise. Videos however like to blare obnoxious music and yell at you to grab your attention.
If it somehow became a browser convention that .gifv videos will not play sound by default, then users would be much less anxious about clicking and sharing .gifv links compared to .mp4 links.
<video height="370" width="660" autoplay="" loop="" muted=""><source type="video/mp4" src="http://i.imgur.com/zvATqgs.mp4"></video>
If you open up zvATqgs.mp4 you are redirected to a .gifv file, which is an HTML document. It has a video tag that mutes the audio.edit: This is interesting, though:
~/temp curl -I http://i.imgur.com/zvATqgs.mp4
HTTP/1.1 200 OK
Last-Modified: Fri, 26 Sep 2014 20:44:27 GMT
ETag: "2342c1e692a327e61be8395bf4d9109c"
Content-Type: video/mp4
Browsers, however, are redirected to the .gifv link, while curl gets the raw mp4 file. Interesting. I was expecting a 30x response code.Further edit: Passing a user agent to curl also causes the raw mp4 file to be returned, with no redirection. Anyone know how they are doing this redirection for browsers but not for curl?
Or is that wget that uses 1.0... Fire up wireshark ;)
Edit:
So it was the useragent and accept header that did it. Nevermind my stupid idea.
Neither the accept header alone nor the user-agent alone are sufficient. It seems they are testing for both.
curl -H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" -A "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:32.0) Gecko/20100101 Firefox/32.0" -I http://i.imgur.com/zvATqgs.mp4On the server's side, yes, that would make more sense. However, the fact is that the MP4 format supports audio, and it will always be possible for a server to supply a webpage with a GIFV item that points to an MP4 file that contains audio. What should the browser do in that case? Playing the audio is probably not desired. Refusing to display the video, or displaying "Warning: this video file contains audio and isn't a valid GIFV file", would probably just confuse or irritate the user--it's probably not their responsibility to fix the server's website. The remaining option seems to be that the browser ignores the audio track, and I'd say this is the necessary conclusion.
(Cf. how browsers deal with HTML that's missing a bunch of end tags.)
GIF, MP4, JPG - these are all formats. Trying to call "GIFV" a format is just marketing fluff.
Plenty of ways to implement that and I'm not sure this is the best approach, but it's not just "worse video". More features is worse, not better, a lot of the time. Like when people used to build entire websites in Flash before the iPhone's lack of flash player finally made them stop.
I have a setting flipped in Chrome such that I have to click to enable each plugin on a page. This made me realize that the iPhone sadly didn't stop all such website builders (rare as it is to encounter one now.)
I know there is no way that site is being redone, and they're now completely at the mercy of Yelp.
I haven't made any gifs since flashing "Under Construction" signs were a thing on web pages, so it's been a while. Maybe I should put some up on tilde.club.