A little know fact about the VideoLAN project is that it was started so that the student organization could justify the need to replace the old networking infrastructure of the campus with a brand new high-bandwidth fiber optics network. They really wanted to deploy a fiber optic network but the school would have never approved it so they thought "OK, we need something that uses a ton of bandwidth, let's make a video streaming app".
They proceeded to start the VideoLAN project, with the VideoLAN Client (VLC) and VideoLAN server, and streamed movies and public television channels to the whole campus.
Interesting how it came to benefit everybody.
Source: I studied there and had a chat with one of the original creators of the project once.
On a related note, VLC's traffic cone icon comes from a club member drunkenly stealing one, which then ballooned into the organization collecting them and eventually inspired the icon.
True the origins are cryptic, but it's become pretty iconic and recognisable. For a nice example take a look at this tweet (the author is semi-famous for selfies captioned with "Come to <place> in the next 15 minutes if u want an ass-kicking") and try to imagine a similarly funny/engaging tweet about any other piece of video playback software.
Enh, I mean, it's not a good logo in the sense of clearly signposting what it signifies, but at this point in the development of the internet, I don't think there are any good logos left. All the clear icons for "audio/video player" have been used a dozen times over. All that's left for any project now is to pick something random, but distinctive. VLC's traffic cone manages that, at least.
The logo itself is always secondary to what stands behind it. People attach their good feelings towards the project / service / company to the logo. If something is good, like VLC is, then the logo may represent absolutely anything. Look at the logos of successfull brands. Quite a lot of them could be called "terrible, stupid, confusing", but nobody says that because they're already firmly established in peoples' minds.
Thanks for the correction! I was remembering one of the members of VIA (the student association who manages the IT at Ecole Centrale) giving me a tour of their infrastructure and boasting about fiber optic networks but I guess that was was after VideoLAN and the switch from Token Ring to Ethernet. Maybe something related to the Renater backbone (https://en.wikipedia.org/wiki/Renater)
I remember this. The Linux User Group on my college campus in 2002 was trying to setup a streaming service using VLC to stream DVDs across the network to all interested parties. Unfortunately the administration forcefully said no. This was the height of the Napster lawsuits as I recall.
Over the years when I've opened VLC I've occasionally wondered what the LAN part meant in VideoLAN. I thought it must be something other than Local Area Network. Thanks for sharing.
This mirrors what appears to be Cisco's acquisition strategy—pick up companies that makes things which use loads of bandwidth (UC etc). It's a smart move, sell products which inflate bandwidth requirements and conveniently be there with shiny new infrastructure to support those new found needs.
I briefly operated an audiovisual services company (that lost a tremendous amount of money, but that had nothing to do with VLC), and after trying loads of players, came back to VLC. It allowed all of the stuff I needed and that many other players (including expensive commercial ones) failed at.
It plays literally everything. We regularly had sponsors show up the day of the show and hand me a USB drive with their ad reel on it. With no clue what the format would be, I would always be able to say, "yeah, we can put it in the playlist for tonight".
It has excellent playlist abilities, and excellent means of controlling the playlist. Our shows often included multiple sources (live video, sponsor reel, feature, short, trailers, etc.), and being able to manually select the right things at the right times with keyboard shortcuts was great.
It actually allows one to kill all on screen displays, and can be reliably configured to always open video on the secondary display (projector) and controls on the primary display (laptop). This is shockingly difficult with every other player I used. They would always have problems getting things onto the right display, or would show some kinda bullshit on the screen. This is particularly true of the DVD and Blu Ray capable players; they're an utter shit show, even if you pay a bunch of money for them.
So, thanks! I love VLC bunches. I've donated in the past, and will certainly donate again.
In general, it seems like FOSS multimedia software blows proprietary software out of the water with regards to format support, and that proprietary software works at a disadvantage, because for them, adding support for a new format means navigating a patent minefield and paying licence fees, but for FOSS, supporting every format is as simple as including FFmpeg.
I have a theory that I call "just one small fix". I think FOSS media players can handle more video files (not just formats) because most of the times the errors that makes them unplayable are just small mistakes in the way things are encoded.
Does a certain camera produces only even timestamps? Let's check for that fix it, it is "just one small fix: one if and a division". Is that MPEG encoded with swapped croma? Let's detect it and fix it, it is "just ome small fix: one if and a swap".
Over the time FOSS projects accumulate all these fixes and one day you realize that they can read practically everything as if a single person sat down and wrote that super-robust code in one go. Proprietary software cannot benefit from this kind of drive-by contributions.
Your theory definitely has some weight to it. You should peruse the FFmpeg git server and see what the commits consist of. Most of the time, the changes comprise no more than one line, and involve the changing of an operator or adding on to an if statement.
Media codecs take a really long time to disrupt the continuum, and often times, decoders can play back other kinds of media by just changing some header information in the file.
If you figure out early enough that you need this kind of feature, you can architecture your code in such a way that those "drive-by fixes" are actually pluggable and maintainable.
Indeed - at my last job, we built a js widget that would go on customers websites, and we learned pretty quickly that we would need pluggable, sometimes customers-specific hacks. Things like old versions of Prototype.js that broke JSON.stringify or forcing Internet Explorer 8+ into IE7 emulation mode. One customer overwrote Array.prototype.forEach with a broken version that lost the scope. Fun times.
In the ten or so years I've used it, I've only come across one file that VLC wouldn't play (excluded DRMed files) - a (possibly malformed) 24hr long MP4 I recorded a few years ago. Pretty much everything chokes on it (VLC crashes straight away), though oddly enough Windows Media Player handles it fine until you try to seek to a different time.
I've dabbled with other media players/codecs in the past, but usually end up back at VLC not long after due to its versatility. Impressive stuff.
It helped me recover some GoPro footage that went corrupt. You feed it a known good video from the same camera/same settings and then it basically uses the structure of the good footage to rebuild the bad footage. It worked a treat after I found a good file for it.
My dad's friend is a lawyer in Boston and I remember he had a big case and needed to review some of the evidence urgently - it was security cam footage. However he had no idea how to play the video file, it was in some obscure format. Nothing but VLC worked. I'm pretty sure he ended up winning the case.
What bothers me are the crashes. A crash probably translates into an arbitrary code execution when a malicious file exploits it.
I've seen files that mplayer won't play that VLC will (though I've seen more of the opposite), but when mplayer can't parse a file it tends to simply not play it rather than crashing. So I'm not going to use VLC on files from the untrusted internet.
Lots of modern anime rips have had corruption issues with VLC in the past[0]. It's actually become a meme in those communities[1]. As x264 and 10bit encodings became ubiquitous, I think VLC's support also became fairly sufficient. However, the anime community is known for being early adopters of new encoding strategies. I believe it would benefit the development of VLC if some developers could check out what those encoders are doing every so often. It seems like they're always a few years ahead of how everyone else is encoding.
One big change was VLC switching to use mplayer's libass rather than their own (buggy, quite likely to the extent of allowing remote code execution) ass parser. These days VLC mostly seems alright, though it'll take a while for it to gain my trust.
I had the same problem, and the fix was quite obvious once you read it: if you have 64bits OBS and 32bits VLC, VLC crashes when you open the video. Use both 64bits or 32 bits software, and you're fine.
This codec was RE'd 2 weeks ago and was merged in FFmpeg and libavcodec this weekend, by a member of the VideoLAN non-profit organization.
Expect it in VLC soon.
I tried that at the time, but all of the tools I tried either crashed or only recognised the audio track (tried ffmpeg, QuickTime in OS X and Windows, Handbrake, VirtualDub, MKVToolnix, and mpegstreamclip plus a few others; mostly ffmpeg-based stuff crashed AFAICT - most of the others either errored out or just listed the audio track).
I ended up recovering most of the footage by re-recording the screen whilst it was playing in Windows Media Player. Not ideal, but it was a low-ish quality capture of a webstream anyway, so any quality loss wasn't particularly important.
The DVD and BluRay not working on secondary monitors is probably due to the ridiculous DRM stuff that prevents you from playing on an 'unauthorized' display.
As a VJ, that's what I love about VLC too. Even now, I cringe when I go to professional film screenings, and between each film the screen reverts to a Mac desktop wallpaper and some person in the projection booth is frantically twiddling with their mouse to click the play button in QuickTime.
We did a job where they insisted on us playing the show off of their Mac running, I think, iTunes. It was a whole bunch of shorts for a festival type event. These were video/photography pros. It was an utter shit show. Videos starting halfway through, videos being skipped without warning, etc. We spent a significant amount of time with the projector blanked, while setting up the next video or fixed fucked up start times. The level of stress caused by Apple's fuckery was enough to where we, as a company, instituted a rule that clients either provided video to us in advance of the show so we could put it into a VLC playlist, or they were explicitly responsible for all the shit that would follow (including running the computer that was being projected...and whatever ended up on the screen was their responsibility).
QuickTime doesn't even have a damned playlist function which is why they were using iTunes. But, iTunes has some of the most bizarre behaviors I've ever dealt with, and awful playlist functionality, in general.
One thing that I'm having trouble with is HTTP/HTTPS streaming with VLC on Android. Almost every time it's unable to open the stream after trying to load it for a number of seconds. Does anyone else have this, or is it just me with some weird configurations?
For example, I wasn't able to stream any of the 32C3 streams, they only worked via the in-browser player.
In the earlier days of mainstream desktop linux (~2005), video codecs were a complete shitshow. VLC was a godsend during those times - it just worked. Still the first thing I apt-get after a fresh install.
Even until the last few years on Windows, codecs were a shit show. You could download codec packs, but it was pretty hit and miss. VLC was amazing - it would open everything, audio just worked, and subtitles just worked.
That's true even today, maybe I'm getting old and I don't play much with other tools like I used to do, but VLC is the only one that always "just work".
CCCP was amazing when it first came about. The last time I wanted to watch something, though, KCP was recommended over CCCP. Things are forever going to be a bit of a mess with playing anime since there's a long tradition of being on the bleeding edge of encoding.
I assume that it is because QuickTime is using your GPU to decode the h.264 but VLC isn't.
There is support for hardware accelerated h.264 decoding in VLC; you just need to enable it. I think the option is in Input and Codecs tab in the preferences.
It still comes bundled with Mac OS, of course, and receives regular updates from Apple. Every once in a while, usually after finally agreeing to an update that I've been putting off for years, I give it a try to see if it works yet. I am always disappointed.
That's the least of QT's problems. The idiotic way that modern QuickTime container files handle audio-visual sync has caused the entire format to fall out of favor within the professional video industry.
The video and audio streams within such files are, by design, out of sync, and requires playback within QuickTime to actually get the file to play back properly, as the content creator intended. Workarounds exist, and some playback software can handle the problem internally, but VLC in particular is not always able to.
VLC has been one of the best bets for a video player and I've used it for years. I've never contributed before though, so I'll gladly do it for their 15th year.
A client once gave me a lecture about how FOSS couldn't possibly produce software with the quality of commercial and was really just a parasitic element on software development.
He pulled up a video talk by some "expert" on the topic.
Oh yes, he used VLC.
Thanks for the classic "umm.. you know..." moment VLC project.
> FOSS [...] was really just a parasitic element on software development.
That's a weird claim. It's not like FOSS is taking tax money or forcing people to pay for something they don't use. How else could it possibly be parasitic?
It was a long convoluted argument. It went something like, "if all of those communists hadn't just made all that stuff for free then lots more people would have jobs building it". Also it all violated patents and was inherently inferior (but by its dastardly and audacious existence, prevented the better commercial stuff from being made). As well as costing the jobs. ???
> FOSS couldn't possibly produce software with the quality of commercial
Sometimes it's quite true, sometimes it's not, while I dislike extremist opinions probably his problems weren't solved by FOSS :) It depends on the task you want to solve.
For this guy, no. He knew nearly nothing at all about linux. His was a windows shop through and through. It was much more powerful to call out a program he knew and used than the nebulous "linux" that he had never seen in action and believed to just be an inferior rip-off of windows 2003 server.
Would be nice to see the text of those offers, like the way the rpi foundation released the text of the offer they got (I've started to investigate the PUP ecosystem, and now said ecosystem includes the shittiest Indian winlockers and fakealert trojans, designed to get less knowledgeable user to call fake tech support)
client-side, you can use WinSCP, free, supports SCP, SFTP and FTP protocols. You can also use any piece of software on your computer to edit remote files, you juste have to configure file extensions in the parameters (like MSWord for .doc/.docx, notepad++ for .txt/.log/whatever, etc)
I use WinSCP when I can and quite like it. The big problems is that for some reason it is so much slower at downloading and especially uploading files that it really isn't usable in many cases.
Since several people have said "it opens everything!" I thought I'd list a couple it doesn't handle: HYMT codec (multithreaded version of Huffyuv, useful for lossless capture of HD) UT Video codec various versions (also a multithreaded lossless codec set, I believe some versions VLC can play... but not the last several), oh and some FFV1 variants (clearly ffmpeg's fault, but still). All the above work fine with MPC-HC on Windows, if you have the codecs installed. VLC is still my player of choice, but as I've used HYMT and UT Video a lot, I've missed having them supported.
For years I have been infuriated by the window auto-resizing to match the video resolution issue, despite there being a checkbox to prevent resizing. Despite just quickly testing now and seeing that it seems to work (as it has on most prior occasions) I would happily bet a sizeable sum of money that no, in fact it isn't actually working and some future video I open will resize the window to a brazillion x gazillion. I really wish this would be fixed completely once and for all some day.
Slightly off-topic: Do you also look for files that play okay, but the audio and video are off-sync? Also, files where audio stops playing when seeking, for a few seconds? That seems to happen a lot to me.
I love VLC's engine, but have never been a fan of its UI, especially the configuration interface. How well separated are the UI and engine? Building a new UI for VLC seems like a fun project.
Image enhancements in general I guess. Make it easy to get "better" quality if the source is "bad".
I also find it annoying that the filters window is always on top, so you have to close it after configuring the filters which makes you forget that filters are turned on. I guess always on top can be useful though, so it could be made optional in the window perhaps?
You might want to check out VLC for Windows Store. We're trying new UI and user experiences and will release soon an update on Windows 10 with an improved design (cleaner and faster).
I’ve had a pretty poor experience with VLC on the Windows Store.
I tried it on my tablet (an HP Stream 7) running Windows 8.1, hoping to use it to play the music from my iTunes library (by copying the Music folder in iTunes’ iTunes Media folder from the computer that I use iTunes on to a microSD card inserted in the tablet’s microSD card slot).
Unfortunately, it had a number of issues:
Issue #1:
It seems that VLC doesn’t like the directory structure iTunes uses to store your music (when you’ve checkmarked the option in iTunes to 'Keep iTunes Media folder organized'), which consists of the top level (the 'Music' folder) containing folders named after each artist, which in turn contain folders named after the albums of each respective artist, which in turn contain the actual music files for those albums.
The reason I believe VLC doesn’t like this way of having the music organized is because after letting VLC read this music folder, VLC showed the albums in a completely non-sensical way (it was showing duplicate entries for the same album, with tracks in those albums being split between the duplicates (despite the music files containing ID3 tags!)).
Issue #2:
There’s no way to tell VLC not to search for information on the tracks from the Internet. It shows some of my songs with erroneous album art, etc. My songs that come from actual albums already have the album art embedded, so I don’t need VLC applying completely irrelevant album art to songs that aren’t actually from an album!
Issue #3:
It’s extremely slow (on my HP Stream 7)!
――――――
I ended up switching over to MediaMonkey on the Windows Store, and while it has a host of issues of its own (it doesn’t show notifications for songs with album art, the UI gets glitchy after using it for a while (stuff like not showing text in the app anymore, so you can’t see your track names… which can only be rectified by closing and reopening it), etc.), at least it actually shows the contents on my Music folder perfectly organized (no duplicates or other such issues), it doesn’t try searching for metadata on the Internet, and it’s actually fast.
My favorite VLC story is about this guy from Syria providing patches while being bombed. I heard jpkempf tell his story this weekend at FOSDEM (video isn't up yet).
I just want to say that VLC is one of the finest pieces of software I've ever had the privilege of running and the contributors to the project should be proud of themselves. It is fast, reliable, and robust. I suspect many who use it don't realize how powerful it is. Its command line interface offers the ability to integrate the automation of complex multimedia processes. It runs everything I throw at it.
I'll never be able to say enough good things about VLC, it changed the way I interacted with video permanently. I haven't thought about a codec in years.
Maybe there is a plugin or something that provides this, but I wish VLC had a little bit better library management. It gets very tedious trying to import a large library and fix meta-data.
I suppose if you go too far in this area, you just end up reimplementing Kodi/XMBC, though.
I'm not entirely sure, but it seems that http://formation-debian.via.ecp.fr/, a famous debian tutorial (at least in early 2Ks) came from that school too. That's what made me get into debian without too much pain.
I used to promote VLC at every corner, until they dropped the ball on 4K support big time. Even with a good mid-price graphics card, they're unable to utilize the GPU hardware effectively, and if you don't have a good amount of CPU power, the app chokes when it's asked to play 4K video. Ridiculous, since even the integrated Intel graphics on CPUs are now capable of playing 4K without any trouble.
I can only comment on the Linux side of GPU accelerated video decoding as that's where my experience is: Pretty much _the_ standard for GPU accelerated video decoding is VDPAU, originally an nvidia project, now open source. Support for intel integrated GPUs came a little later in Linux under the guise of VAAPI (technically a subset of VDPAU). ATI/AMD also have a proprietary API called XVBA via their catalyst drivers but I haven't had much interaction with ATI hardware on Linux for a long time.
VDPAU allows my 7 year old weedy 1.6ghz atom to play 1080p without breaking a sweat (around 2% CPU usage).
VLC lagged behind a lot of other players (e.g mplayer, my personal favourite player; which added support in ~2009 or so), but has had decent VDPAU/VAAPI support since 2.1 (2013?).
In the case of VDPAU on nvidia, support for 4K is a hardware limitation (the purevideo chip that actually does the decoding). It's supported on purevideo 5 and later (present on some later fermi and most Kepler architecture cards).
It's the same story with Intel. Generally speaking, only Haswell and later architecture CPUs have support for 4K.
mpv is fast and plays just about everything, but it takes a bit getting used to, since its GUI is very minimalistic (by design). Configuration is via text files, and it is scriptable in Lua.
I was very pleased to learn I could delay or advance the audio track on videos where the audio and video were out of sync, but I never did figure out how to save a video with the tracks properly synced and gave up.
vlc 2.2.1, latest desktop release, has a possible code execution bug relating to 3gp (which doesn't have to be the file extension). Most distros have patched it, but the videolan releases don't appear to be patched since they're 2.2.1 and since the file modification for one mirror of win32 2.2.1 is last April (of course it would be pathologically stupid to release patched binaries without a new release, but it's possible, and they don't appear to have done either).
Your question had me interested, so I looked around a bit and found this forum post from "Peter" [0]:
>"foobar2000" is indeed a piece of random gibberish I had to type into "project name" box when creating a new project in MSVC, on the day all this started. IIRC I spent about 5 minutes on thinking about it - I wanted to get things working ASAP rather than worry about the name.
That forum profile has a link to Peter Pawlowski's website [1] and has been active since 2001, so I'd like to believe it's really him.
Is it me only who experiences a rather slow startup time with VLC on Windows 10? Once it's loaded it rocks (as long as I want to watch videos). For music, it's not the best tool, but it does the job.
OS-specific things are OS-specific. ffmpeg (the primary backend decoder used by VLC and many other OS projects) is a great cross-platform library that can play most things, but you need some kind of platform-specific wrapper (e.g. ffdshow on windows) to hook it into the OS' native services and make it available inside other apps.
I dont think it's possible since it seemed pretty lock down to me. I just always replaced it as my main player since that seemed to be the least hasle free way than mess with the OS featured player to get it to work right
They proceeded to start the VideoLAN project, with the VideoLAN Client (VLC) and VideoLAN server, and streamed movies and public television channels to the whole campus.
Interesting how it came to benefit everybody.
Source: I studied there and had a chat with one of the original creators of the project once.