Joining the Code Conversation
If you use this course in a workshop context, consider including a discussion about free and open source software. These terms have a history you don't need to be familiar with to use the tools. But if you want to join the 'code conversation' it helps to be familiar with the terms of the debate that continue to frame software development projects.
VLC vs FFmpeg : Graphical User Interface
Over the past decades, video creation and distribution have become available to everyone. Moving from analog to digital recording devices has multiplied possible ways to create and distribute video. Whether you want to share your creativity and your creations on a physical medium (DVD) or via streaming, you should take a look at this chapter.
The chapter focuses on the compression/decompression file formats used by different cameras, video players, and editing software. A large variety of formats exist, some are current and still being used, others might have become obsolete, and you may never have even heard of them before. Most major media companies are members of the MPEG Consortium, so you might be familiar with the different versions of the MPEG format. But it is easy to be confused - MP3 is not version 3 of MPEG, for example, but a subchapter called "layer 3" of the "MPEG 1" standard.
We compare and contrast two tools. One is called VLC, an open-source cross-platform multimedia player and framework, which can also stream audio and video in a number of formats. The second is FFmpeg, an open source cross-platform solution to record, convert and stream audio and video. While VLC has a graphical user interface (GUI), FFmpeg uses a command-line interface, i.e. a text-base interface where the users enters commands into a program (a command line shell) that converts commands to operating system functions.
As a developer, you are already familiar with text-based interfaces and can draw on this experience as you work with open video. If you have never used a command-line interface, this is your chance to try it out and find out more about the code work underlying file compression.
Other areas for Discussion
On Free Software
"Free software is software that gives you the user the freedom to share, study and modify it. We call this free software because the user is free. To use free software is to make a political and ethical choice asserting the right to learn, and share what we learn with others. Free software has become the foundation of a learning society where we share our knowledge in a way that others can build upon and enjoy." (FSF)
On the Future of Open Source and Free Software
"The difference between the two movements (open source and free software) is that Free Software is a social movement, and open source is a methodology. I do prefer free as in freedom software, even though I’m not a developer, but there are a few other freedoms that matter more to me:
- Freedom to run software that I’ve paid for on any device I want without hardware dongles or persistent online verification schemes.
- Freedom from the prying eyes of government and corporations.
- Freedom to move my data from one application to another.
- Freedom to move an application from one hosting provider to another.
- Freedom from contracts that lock me in to expensive monthly or annual plans.
- Freedom from terms and conditions that offer a binary “my way or the highway” decision.
The first of those is certainly part of the Free Software Movement, and the others are promoted today by advocates for the open web, federated web and/or indie web and vendor relationship management. I’m sure there are many more freedoms I’m not thinking of, but the groundwork is there for a new Free Software Movement that’s more in line with the needs of the users in our time."
Recent debates about open video
There are many blog posts online which outline a tension between pragmatism and trying to support and promote open video. Many of these are about the continued use of the patented h264 format despite attempts to move video distributors towards more open codecs. To communicate the importance of these issues we can invite people to look at of some of these blog posts.
We can give the advice not to get bogged down by the technical language and details but instead to get a flavour of the debate. It will give a sense of how contested the issue of open standards is, as commercial interests continue to clash with free software philosophies.