Mithro speaking on Dissecting HDMI at 33C3!
This is a quick post to mention that Mithro will be speaking at the 33rd Chaos Communication Congress on Dissecting HDMI. The talk is based on the HDMI2USB development and will include tales from using the HDMI2USB firmware to capture conferences!
If you are attending the conference, you can catch it live in Saal 1 on the 29th December at 17:15 (5:15pm). The talk will be live streamed thanks to the C3VOC and post conference a recording should be available a media.ccc.de/c/33c3.
He gave a sneak preview of the talk to a small group of lucky hackers at Metalab.at in Vienna, Austria. A big thank you to both Metalab.at and the Apertus Project for giving Mithro the chance to practice.
Talk abstract is included below;
Developing open, FPGA-based capture hardware for conference & user group recording
Ever wondered what is actually happening when a speaker can’t get their laptop to project? While developing the FPGA-based HDMI2USB.tv open hardware for recording conferences, we discovered just how convoluted the HDMI protocol can be. Come hear all the horrible details!
The TimVideos.us group aims to make it easy for anyone to create high quality recordings of conferences and user groups. To achieve this goal we have developed the HDMI2USB.tv project, an FPGA based, fully open (hardware and firmware) solution for capturing HDMI video signals. The solution has been in use since late 2015 and used at numerous conferences such as Linux.conf.au, DebConf and many PyCon conferences around the world.
To be truly FOSS has however meant developing code for doing HDMI receiving and sending. Come hear about all the issues we have run into and the nitty gritty details about how it works (or doesn’t!). By the end of the talk you will know more than you ever wanted to about the HDMI protocol!
This talk will cover:
- The HDMI video standard, including
- An overview of the many protocols and standards required.
- A high level description of the low speed protocols needed such as DCD (EDID) and CEC.
- An in-depth dive into the high speed TMDS protocol and encoding.
- How to build a HDMI receiver and transmission to run on an FPGA.
- War stories from trying to use the HDMI2USB capture device for recording FOSS conference, including;
- Why your HDMI cable can actually matter.
- Some of the reasons why plugging in a screen doesn’t always “just work”.
- Doing error correction on a protocol which doesn’t have any.
News from the start of 2016!
Firstly, I would like to apologize for the lack of communication over the last couple of months. The start of 2016 has been extremely busy for both the TimVideos.us and Numato teams. This update will give you an insight into what we have been up to; shipping Opsis boards, planning for 2016, recording Linux.conf.au, getting into Google’s Summer of Code for 2016, and an update on some compatibility issues we’ve working on.
By now, everyone who participated in the crowdfunding campaign should have received notification of shipment, if not your board. Pre-orders will go out soon - you will receive a shipping confirmation email with a tracking number once your order ships). You can see some cool pictures from the first shipment which arrived at Crowd Supply below.
Planning for 2016
With the start of a new year, the TimVideos project posted a project roadmap for 2016. It includes details on our achievements in 2015 and our major goals for 2016. As an Opsis board owner, you may find it interesting to see how we plan to use them and what we want to do in the future.
In February, the TimVideos team also use the Numato Opsis boards for the first time to record a FOSS conference! The Linux.conf.au conference was recorded completely using the HDMI2USB firmware on a mixture of supported hardware (which includes the Numato Opsis boards). Recording the conference had some unique challenges such as universities projectors deciding to take a bath! You can find the LCA videos on YouTube, or on the Linux Australia FTP mirror.
Google Summer of Code
The TimVideos.us project is also happy to announce that it has been selected to participate in the Google Summer of Code for 2016 (GSoC). GSoC is a program where students are paid to contribute to selected open source projects over the northern hemisphere summer, flip bits not burgers! The application period is now open and students have until 25 March 19:00 UTC to apply to work with the TimVideos.us project. The list of proposal ideas includes contributing to the HDMI2USB and things related to the Numato Opsis.
During recording LCA, we did discover a compatibility between the Opsis board and some devices. We are currently investigating the root cause of these issues and believe it should be resolvable with a firmware update. As a temporary workaround, you can use HDMI cables which include inbuilt amplifiers (such as these with Redmere technology from Monoprice) on the inputs. A further backer update will be released within 30 days with more information.
Thanks everyone for your support in making the Opsis a reality and reaching this milestone!
Tim ‘mithro’ Ansell
TimVideos.us and Google Summer of Code 2016!
The TimVideos.us project is happy to announce that it has been selected to participate in the Google Summer of Code for 2016 (GSoC). GSoC is a program where students are paid to contribute to selected open source projects over the northern hemisphere summer, flip bits not burgers!
The application period is now open and students have until 25 March 19:00 UTC to apply to work with the TimVideos.us project. The list of proposal ideas includes contributing to the HDMI2USB and things related to the Numato Opsis.
Due to the focus on hardware, we are very interested in students who are interested in things like VHDL/Verilog and other HDLs, embedded C programming and operating systems and electronic circuit/PCB design. Some possible ideas include;
Making use of the Ethernet interface for connecting multiple devices together and alternative capture interfaces.
If you are interested in applying, your first point of call should be our Google Summer of Code page. Even if you can’t apply to GSoC, you can also help us by forwarding this message to anyone you might think who is interested!
TimVideos.us 2016 New Year's Resolutions
Hope everyone has had an awesome start to 2016 so far. As is tradition in many western countries, I thought I would put together some New Year’s Resolutions and reflect on our progress in 2015. I guess more business minded people might call it a “project roadmap” :-)
Having the HDMI2USB firmware on Atlys boards used in production by multiple people!
With the success of this focus in 2015, the TimVideos project is going to continue to focus on the HDMI2USB project for 2016 (and I’ll go into more detailed goals shortly).
The TimVideos project has also been mildly successful in collaborating with other open source groups doing things related to video recording and production. In 2016, I hope we can strengthen these bonds and forge new ones. Some specific goals around this include;
Getting the TimVideos project to join Software Freedom Conservancy (or similar organisation).
Collaborate with the apertus° project on high end (4k and greater!) video capture and processing.
As we are concentrating on the HDMI2USB project, we have some specific goals around that.
HDMI2USB firmware goals;
Refactor the HDMI core to allow support a wider range of interfaces, better debugging and addition of more features. A document about the refactor has been started here.
- Get Ethernet support working (on both the Atlys and Opsis boards). The two
major Ethernet features are;
- Ethernet supports identical capture and control feature set to the USB port.
- Allowing HDMI2USB boards to act has “HDMI over Ethernet extenders”.
- Support for more hardware;
- Digilent Nexys Video
- New HDMI2USB designed hardware!
- Stretch Goals (1)
- Add support for hardware based mixing.
- Have either a RTOS or Linux running on the FPGA softcore.
HDMI2USB hardware goals;
- (By end of year) Development of a low cost PCI-Express capture card.
- (By middle 2017) Development of an Opsis V2 based around either an high end Artix-7 or a low end Kintex-7 FPGA.
(1): Stretch goals are things we plan to try and achieve if things go well.
Hope this update give you an idea of what we have planned for 2016! We would love your help making it all possible.
Tim ‘mithro’ Ansell
Edit: Corrected the month for the MiniDebConf and added a link to the recordings.
An update on shipping
Firstly, I want to apologize for the radio silence since the campaign was successfully funded – we have been super busy getting production up and running and developing the tools needed to make using your Opsis and the new expansion boards a great experience!
On that note, we are planning on starting to ship the Opsis boards very soon. We have had a couple of setbacks in the production process but are working hard so that the majority of you still receive your boards before your delivery date. The updated delivery schedule is as follows;
- For the first 25 backers (with delivery marked as November or December), we will be delivering the devices to Crowd Supply on the second week of January.
- For all the remaining backers and pre-orders (with delivery marked as January, February, March or April), we will be delivering the devices to Crowd Supply at the end of January / early February.
After the devices are received by Crowd Supply, they will endeavor to get them shipped to backers ASAP. (For backers in India, the boards will be shipped directly from Numato rather than through Crowd Supply.)
There has also been some confusion delivery dates of the TOFE expansion boards. Both types of expansion boards will ship with your Opsis board(s) as one package.
This also means that if you put in a pre-order before the end of December, we will try and get it included in the second group so you should receive your boards before the end of February!
After boards are received by Crowd Supply, their crew will then shipped the individual boards to backers. It is important that your shipping address is correct before Crowd Supply start this process. Please check this now and contact support to have it corrected if wrong.
Wishing everyone a happy holidays!
TimVideos & Numato Lab
Second stretch goal reached -- 'Milkymist Compatibility' TOFE board available
Thank you everyone, at around 26 hours left in the campaign, we reached our second stretch goal! You can now add the “Milkymist Compatibility” TOFE board to your order at special introductory price of $35 USD. Because the campaign is almost over, this price will be available after the campaign as a “pre-order”, but only until 6pm Friday PDT (10/30). We have worked hard to provide the board at our target price to Crowd Supply backers but the feature set means it will be available at $50 USD after 10/30, get yours now!
We are excited to enable interfacing with a wide range of controllers which support DMX or MIDI. The audio support on the TOFE board should also provide a lot of cool new possibilities that we haven’t previously thought about. The “Milkymist Compatibility” board has the following confirmed features;
- AC‘97 compatible audio interface with Microphone, Headphones (on standard 3.5mm connectors) and Line In + Out (on screw terminals for permanent installations)
- RS-422 / RS-485 compatible high speed (10Mbps), full duplex serial port;
- Compatible with wide range of interfaces including the industry standard DMX512 control protocol.
- Connected to screw terminal headers, allowing wiring to DB-9, RJ-12, XLR-5, XLR-3 or RJ-45 connectors (wiring diagrams provided).
- RS-232 full duplex serial port on a standard DB-9 connector. Supporting connection to wide range of devices with serial ports. (Secondary RS-232 full duplex serial port on a standard screw terminal.)
- MIDI In and Out interfaces on screw terminals, supporting connection to wide range of musical instruments and control devices.
- Infrared transmitter and receiver compatible with many consumer remote protocols.
- 4 x Push button Switches and 4 x Indicator LEDs.
- 2 x Digilent Pmod™ Compatible headers to allow usage of existing expansion boards, including boards from Numato Lab, Digilent, Maxim and Analog.
The full schematic and PCB design will soon be published in the timvideos/HDMI2USB-TOFE-Milkymist repository.
Cheers, TimVideos & Numato Lab
PS Less than 8 hours to order your Numato Opsis board, you better get to it!
First Stretch Goal Reached! 'Low Speed I/O' TOFE Board Available
Well you guys have done it, we have reached our first stretch goal and are proud to announce the availability of the “Low Speed I/O” TOFE board! Just to refresh your memory, here is what we said in our stretch goal update:
“While the Numato Opsis board has a massive amount of high speed I/O interfaces, it doesn’t include many features for interfacing with more pedestrian speed devices such as buttons or LEDs. To help solve this problem, we are currently designing the “Low speed I/O” TOFE board.”
The board can be added to your order at a discounted price of $20 USD until the campaign ends (when it will be available for $25 USD).
The “Low Speed I/O” board has the following confirmed features:
- 1 x Arduino compatible pin header. The board includes an ADC meaning that even the analog pins should work.
- 4 x Digilent Pmod™ Compatible headers to allow usage of existing expansion boards, including boards from Numato Lab, Digilent, Maxim and Analog.
- 6 x Indicator LEDs
- 4 x Push Buttons
- 1 x USB UART
The full schematic and PCB design can be found in the timvideos/HDMI2USB-TOFE-LowSpeedIO repository. We are also in the process of releasing a KiCad template for creating TOFE expansion boards which will be found in the timvideos/HDMI2USB-TOFE-kicad-template repository - we already have people interested in working on both SDI video and VGA expansion boards.
Cheers, TimVideos & Numato Lab
4k video output using an FOSS DisplayPort core and the Numato Opsis!
Last weekend, our friend Mike “Hamster” Field from HamsterWorks was successful in demonstrating what we believe is a FOSS world first! As the pictures show, Mike has working 4k video output (3840×2160p30) via DisplayPort using an open source core on open hardware.
Mike has been hard at work implementing a fully open source DisplayPort core, so we were keen to get him an Numato Opsis board (we shipped him the third board ever made). Currently his implementation is only using 2 of the 4 high speed transceiver lanes on the Opsis but he is working on getting the other two lanes working to effectively double the bandwidth and enabling full 3840×2160p60 (although Mike’s monitor doesn’t go that high, guess he needs a new one :-). It has been awesome to be working with Mike and getting the Opsis fully supported with his work.
Over the next couple of weeks we should have some cool demos (plus less blurry videos / screenshots!) and code samples which show how to make use of this type of functionality as it can be tricky.
Tim ‘mithro’ Ansell
PS: You all rock, we have reached our first stretch goal! Will post an update soon.
An update about supported video options and 1080p support
We have gotten a lot of questions about the video capabilities of the Opsis board which is understandable because it took us ~3 years to understand the space! To help clarify things we have added a new FAQ dealing exclusively with the details around HDMI, DisplayPort and the revisions, resolutions and formats that the Opsis board supports.
The important summary of the information is that on the Opsis;
- The HDMI connectors support resolutions with equivalent bandwidth of SXGA @ 60Hz (1280×1024 @ 60Hz progressive) which includes;
- [email protected] (1024×768 @ 85Hz progressive),
- 1080p30 (1920×1080 @ 30Hz progressive),
- 1080i60 (1920×1080 @ 60Hz interlaced),
- 720p60 (1280×720 @ 60Hz progressive),
- but not 1080p60 (1920×1080 @ 60Hz progressive).
The DisplayPort connector supports resolutions up to a bandwidth of ~12Gbit/s which include extremely high resolutions like 4096 × 2160 @ 24Hz.
- The DisplayPort connector is dual-mode enabled and thus can operate as high speed HDMI ports using cheap adapters. When operating in HDMI modes, many high resolutions up to 3840 x 2160 @ 30Hz should work.
If you any feedback on the information, please comment on the Google Docs version and we will try and get it incorporated into the CrowdSupply page.
Tim ‘mithro’ Ansell
Last Chance to Apply for the Champion Program!
Just a reminder: you have just over 24 hours left to put in your submission for the Numato Opsis Champion program for the chance to receive a pre-production Opsis. The form has only 3 short questions for you to fill out!
We plan to ship the pre-production boards early next week (probably Monday!) so won’t be able to accept any late submissions.
TimVideos & Numato Lab
PS We are only 7 boards away from our first stretch goal - We know with your help that we can get to it before Monday….
Announcing Stretch Goals!
With the campaign already at 144% and still a little under 5 weeks left, we have been trying to come up with good ideas on how to keep the momentum going. We want to get the Opsis board into the hands of as many people as possible because it increases the number of cool things that happen. While we are certain that you all will continue to spread the word, we thought that some extra incentives couldn’t hurt!
With that in mind, I’m happy to announce that with every 25 boards that are ordered as part of the campaign, a stretch goal will be completed, unlocking new purchase options or getting more stuff included with your Numato Opsis board.
Goal 1 @ 25 boards - Crowdfunding campaign is successful and people get Numato Opsis boards
Already completed, you all rock!
Goal 2 - 50 boards - Unlock the “Low speed I/O” TOFE board for purchase
While the Numato Opsis board has a massive amount of high speed I/O interfaces, it doesn’t include many features for interfacing with more pedestrian speed devices such as buttons or LEDs. To help solve this problem, we are currently designing the “Low speed I/O” TOFE board. While the board has yet to be finalized, the following features will probably be included;
- An Arduino compatible pin header, allowing interfacing with most existing Arduino expansion boards.
- Multiple PMOD headers, allowing interfacing with many existing boards from a wide range of manufactures, including Numato.
- A number of indicator LEDs.
- A number of push button and toggle switches.
- When more than 50 boards are ordered from the campaign, we’ll open up the purchase of this board for $25USD.
Goal 3 - 75 boards - Unlock the “Milkymist Compatibility” TOFE board for purchase
The Numato Opsis is already very similar to the Milkymist and Mixxeo devices created by M-Labs. It is however missing a couple of features those boards have. This TOFE board is designed to cover those remaining missing features and will include;
- AC-97 compatible audio interface.
- Two DMX512 (RS485) ports
- MIDI IN and MIDI OUT ports
- Infrared receiver and sender
- RS232 compatible serial port
- A number of push buttons
When more than 75 boards are ordered from the campaign, we’ll open up the purchase of this board for $35USD.
Goal 4 - 100 boards - Everyone gets a “Low speed I/O” TOFE board with their Numato Opsis board!
If more than 100 boards are ordered from the campaign, we will have hit a large enough economy of scale that we can include one of the “Low speed I/O” TOFE board with every Numato Opsis board order.
People will be able to add either one of the boards to their existing purchase for free. People who had already ordered the TOFE board will have the option of being refunded their money.
I hope that gets everyone even more excited about the Numato Opsis board and what you can do with them. We really want to do all these things, so it is up to you to get the word out! The campaign page will be updated shortly.
Tim ‘mithro’ Ansell (from TimVideos) and Tom (from Numato Lab)
Announcing the Numato Opsis Champion Program
With the campaign already over 120%, we know that some of you are super impatient to get your hands on an Opsis board and might be happy to live on the bleeding edge. We have a limited number of “pre-production” boards left over from the prototyping run and rather than having them sit around collecting dust, would like to send them to people who will do cool things with them! Hence we are happy to announce the “Numato Opsis Champion” program.
Order a Numato Opsis board at CrowdSupply.com, then tell us about your project and why you can’t wait by filling out this Google Form before Friday, 2nd October ends AoE. The form has only 3 short questions for you to fill out! For the best entries, we will ship a pre-production board for free. As these boards are already manufactured, they will ship well before the campaign ends! Winners will of course also receive their ordered production board like every other backer.
We don’t have any set criteria for evaluating the entries but are looking for people who are going to do something awesome or something which helps the community. Anything from helping write sample code, porting existing projects to the board, using the board for event capture or in some type of artwork or performance, to even just plugging the board into everything you can find are all potential winners. We are sure we haven’t even imagined some of the cool things you will come up with.
As you will be receiving a pre-production Opsis, well before our planned shipping date, you need to be prepared to deal with things like incomplete documentation, missing or incomplete tooling and sample code, things which just plain don’t work. Please understand the ride will be bumpier than what people will get when receiving the production boards. These prototyping boards are functional but did require some small manual fix ups to work correctly (which have already been done by us) and are a bit rougher than the final boards.
Look forward to hearing about all the cool things you want to do!
Cheers, TimVideos & Numato Lab
100% – You guys rock!
Wow, you all rock! In under two weeks you all have gotten us over the 100% mark.
The goal has been reached a full month in advance before the campaign end, we are humbled by the overwhelmingly positive feedback and interest in the Numato Opsis.
Thank you for all the support but the campaign is not over yet - we have just over 5 more weeks to go.
We are also hanging out in the #timvideos channel on the Freenode IRC network.
Again, thank you.
Tim ‘mithro’ Ansell (from TimVideos) and Tom (from Numato Lab)
60%+ in less than a week!
Firstly, I’d like to say thank you for your all your support so far! It’s awesome to see that we have reached over 60% of our goal after only being up for a week.
A number of people who are unable to purchase a board have asked how they can support the project so we put together the following list:
We now have a “Support Us!” pledge level on the crowdfunding page which allows you to donate money towards getting the board into production.
The crowdfunding campaign is extremely dependent on people knowing about it! Please share the crowdfunding campaign page on Twitter, Facebook, Google+ and anywhere else that is appropriate.
Help out with development! We have a wide variety of things which need to be done from coding tasks, system administration, web design, helping with documentation and much more. Most tasks don’t require you to have any hardware and many don’t require any coding!
Join our mailing lists and IRC channel and continue to be excited about the project. Seeing all the people that are excited makes us excited to do even more cool things.
Cheers, Timvideos & Numato Lab
New MiSoC based firmware
This new firmware is substantially easier to develop then the previous firmware and already has many new features compared to the old hand coded firmware. It supports the Numato Opsis board.
|The jahanzeb HDMI2USB firmware was developed using a combination of VHDL, Verilog and cores generated in Xilinx ISE.||The misoc HDMI2USB firmware is developed using migen and misoc technologies.|
|Getting Started||Getting Started|
|Supported Boards||Digilent Atlys||Digilent Atlys, Numato Opsis|
|Streaming Interfaces||USB 2.0 UVC Camera||USB 2.0 UVC Camera, Gigabit Ethernet|
|Control Interface||USB 2.0 CDC-ACM "Serial Port"||USB 2.0 CDC-ACM "Serial Port", Gigabit Ethernet|
MiSoC and migen
From the m-labs’s site.
Migen is a Python-based tool that automates further the VLSI design process.
Despite being faster than schematics entry, hardware design with Verilog and VHDL remains tedious and inefficient for several reasons. The event-driven model introduces issues and manual coding that are unnecessary for synchronous circuits, which represent the lion’s share of today’s logic designs. Counter-intuitive arithmetic rules result in steeper learning curves and provide a fertile ground for subtle bugs in designs. Finally, support for procedural generation of logic (metaprogramming) through “generate” statements is very limited and restricts the ways code can be made generic, reused and organized.
To address those issues, we have developed the Migen FHDL library that replaces the event-driven paradigm with the notions of combinatorial and synchronous statements, has arithmetic rules that make integers always behave like mathematical integers, and most importantly allows the design’s logic to be constructed by a Python program. This last point enables hardware designers to take advantage of the richness of the Python language - object oriented programming, function parameters, generators, operator overloading, libraries, etc. - to build well organized, reusable and elegant designs.
Other Migen libraries are built on FHDL and provide various tools such as a system-on-chip interconnect infrastructure, a dataflow programming system, a more traditional high-level synthesizer that compiles Python routines into state machines with datapaths, and a simulator that allows test benches to be written in Python.
You can find the Migen source here, released under the permissive BSD license.
Built on Migen, MiSoC provides a high performance, flexible and lightweight solution to build system-on-chips for various applications.
- CPU options:
- LatticeMico32, modified to include an optional MMU (experimental).
- mor1kx, a better OpenRISC implementation.
- High performance memory controller capable of issuing several SDRAM commands per FPGA cycle.
- Supports SDR, DDR, LPDDR and DDR2.
- Provided peripherals: UART, GPIO, timer, GPIO, NOR flash controller, SPI flash controller, Ethernet MAC, and more.
- High performance: on Spartan-6, 83MHz system clock frequencies, 10+Gbps DDR SDRAM bandwidth, 1080p 32bpp framebuffer, etc.
- Low resource usage: basic implementation fits easily in Spartan-6 LX9.
- Portable and easy to customize thanks to Python- and Migen-based architecture.
- Design new peripherals using Migen and benefit from automatic CSR maps and logic, simplified DMAs, etc.
- Possibility to encapsulate legacy Verilog/VHDL code.
Schematic and PCB Design for Numato Opsis board released!
Announcing the Numato Opsis board
The TimVideos project and Numato Lab are pleased to announce the Numato “Opsis” open video platform. The Opsis platform is an exciting new FPGA based open hardware, specifically designed for the needs of the HDMI2USB project.
With dual inputs and dual outputs, which can all be controlled independently, the board removes the need for extra matrix switching hardware, reducing complexity of recording set up.
The HDMI2USB firmware is also designed to provide a large amount debugging information which is all programmatically available by a virtual serial port. The Opsis board enables even further support by including full control over all pins, including hot plug, enabling “virtual disconnection” without having to unplug and re-plug cables.
The TimVideos project is already experimenting with the new functionality available through the Opsis board and is currently investigating new features like streaming video directly via Gigabit Ethernet or capturing live to a local SD card.
The Opsis board has also been targeted at people interested and involved with video creation, manipulation and research. The Opsis board’s features enables a wide range of video related applications and is designed not only for development but to become the core of your intelligent digital video system. Potential integration applications include everything from a simple “smart” video matrix to live video manipulation in visual art installations.
Has DDR3 memory instead of DDR2, increasing the memory bandwidth.
Has a Spartan S6LX45T with the GTP broken out to DisplayPort headers.
Has a PCI-Express style expansion connector instead of the expensive VHDCI connector, allow much cheaper expansion boards.
Has all the extra pins on the FX2, increasing the potential USB interface options.
Has control over all the HDMI functionality, including hot plug and CEC functionality.
Removes parts we don’t need such as the audio, buttons, switches and LEDs.
Mounts in any ITX style computer case.
Adds UTMI USB (as well as the Cypress FX2).
Adds MicroSD connector.
About Numato Labs
Numato Systems Private Limited (Numato Lab) is a limited liability company incorporated in India with headquarters in Electronic City, Bangalore. Numato Lab focuses on designing and manufacturing Embedded Systems, Logic and other electronics based products and cater to thousands of customers across the globe. Along with legacy business operations, Numato Lab is committed to share knowledge with the community through their own open source projects and through collaborating with other open source projects around the world. Numato Lab has been in operation for more than four years.
TimVideos Sprints and Linux.conf.au 2015 Debrief
Carl enjoying a drink after a long flight
When he boarded the plane in San Francisco, Google Summer of Code mentor Carl knew he was going to miss one of the world’s most well-documented annual events. It was New Year’s Eve and thanks to the international dateline, Carl would arrive in Auckland, New Zealand (aka Middle Earth) on the morning of January 2. While he was sacrificing his chance to capture the fireworks, the work that Carl and a team of GSoC mentors and students were converging to tackle would empower others to record something more enduring than those sky sparkles.
When he arrived in the “land of the long white cloud” Carl met with Rohit and Ajit, two GSoC 2014 students who had travelled even further but in the opposite direction, leaving from India. Rohit was venturing overseas for the first time. In the following days, the group was joined by GSoC 2015 student Aayush, also from India, and GSoC mentor Tim, from Australia.
Rohit (sitting) and Ajit (standing) unpacking hardware at Catalyst IT
The GSoC participants and many others involved in the TimVideos.us project were converging for a week-long coding sprint ahead of the Linux.conf.au conference, where they would put their work to the test with video capture and streaming.
TimVideos.us is a group of projects that create a system for doing both recording and live streaming for presentations at events such as conferences, meetups, and user groups. The projects include both open source software and open source hardware development. The aim is to reduce the costs and expertise required to produce live streaming events to near zero. One of the major goals for the project over the past two years has been to replace an old standard definition system based on end-of-life hardware with a new, high definition, completely FOSS solution.
Thanks to the massive effort of GSoC students in 2013 and 2014, and with help from many other volunteers, the projects were getting close to serving their intended purpose. The sprinters hoped to get the tools to the stage where they could start experimenting with them during the conference.
GSoC students had been fundamental in getting the systems ready, so it made sense to give GSoC students the opportunity to use their code and hardware in the high-stress environment of a conference. There’s nothing like a trial by fire.
People working hard on code.
Ajit (foreground) trying to understand his own code, Dave (background) updating his music play track.
Tim (foreground) and Aayush (background) working on a hard problem
The sprint was extremely productive, the group sent 54 pull requests and closed 27 issues. The sprints focused on two of the TimVideos projects:
gst-switch, a software video mixer based around gstreamer.
After the sprints the conference began, and the real challenges with it. Given the importance of ensuring video was actually captured, the team set up the old, proven pipeline.
Linux.conf.au is the biggest FOSS conference in the Oceania region and attracts people from around the world, including luminaries such as Linus Torvalds. The conference is in a different city each year, generally in Australia but occasionally in New Zealand as in 2015. While travelling from Australia to New Zealand is relatively easy for Australians, the extra cost of a passport can mean some aren’t able to attend, so live streaming was provided to allow those people to view the proceedings.
Ajit (foreground) manning a video capture desk at [Linux.conf.au](http://linux.conf.au/)
Our three GSoC students enjoying the conference dinner (from left, Rohit, Ajit, Aayush)
Many of the conference talks are important to the FOSS community globally, so the presentations are all recorded and shared freely under a CC-BY-SA license. Reliable, high quality recordings are important to facilitate this sharing. They are all freely available on the Linux.conf.au 2015 YouTube channel or via the Linux.org.au mirror.
A number of organisations came together to facilitate this work. There was funding from Linux.conf.au, Google Conference grants for the GSoC students, a venue provided by Catalyst IT and a donation from Tim. These folks deserve a huge thank you for making such awesomeness possible.
The complete TimVideos team (from left, back - Aayush, Tim, Joel, Leon, Rohit, Michael, front - Ryan, Ajit, Carl)