Tag / Multimidia

  • November 8, 2016 - Arun Raghavan

    GStreamer Media Synchronization Made Easy

    A lesser known, but particularly powerful feature of GStreamer is the ability to synchronize media playback across multiple devices with fairly good accuracy. However, with the way things stand right now, it requires some amount of fiddling and a reasonably thorough knowledge of GStreamer’s synchronization mechanisms. While we have had some excellent talks about these at previous GStreamer conferences, getting things to work is still a fair amount of effort for someone not well-versed with GStreamer. As part of my work with the Samsung OSG, I’ve been working on addressing this problem by wrapping all the complexity associated with this in a library. The intention is for anyone who wants to implement synchronized streaming between devices on the same network to be able to do so with a few lines of code and basic know-how of writing applications based on GStreamer. I’ve started work on this already, and you can […]

    Read More
  • October 25, 2016 - Reynaldo Verdejo

    The 2016 GStreamer Hackfest & Conference in Berlin

    A few days ago, while on my way back from the GStreamer hackfest and conference combo, I tried to come up with a list of pearls to share here and arrived at a pretty troubling conclusion: there was no easy way to do so. The Hackfest I met Luis (De Bethencourt) a kilometer away from my hotel on a cold Saturday morning on October 8th. By then, I had already figured the only exercise I’d be able to get during my short 4-day stay in Berlin was going to be related to my commute, so I decided to embrace walking. We headed for C-Base as soon as we meet at his hotel’s lobby and arrived 10 minutes later to meet the typical familiar faces from the GStreamer community. So did everything start. The GStreamer developer community, while quite compact, has a surprisingly large number of regulars; people tend to stay around. This is something you hardly […]

    Read More
  • Kaffeine version 2.0.4 has been released today, substantially improving its already excellent Digital TV (DTV) support! Update: tarball is now available at: http://download.kde.org/stable/kaffeine/2.0.4/src/kaffeine-2.0.4.tar.xz While version 2.0.4 was meant to solve several bugs reported via the project’s bug tracker, it offers a lot more: DVB-S/S2 Kaffeine improvements Kaffeine now supports the ability to select the Low Noise Blockdown feedhorn (LNBf) among a list of other LNB features used on Digital TV. This list comes from libdvbv5, which provides the backend to setup a satellite configuration. Other Network Information Table Scans Digital TV relies on physical transponders to transmit a signal, and each transponder can carry multiple channels. There’s a special table in the MPEG transport stream that’s responsible for listing the other transponders associated with a given transmission that belong to the same network provider. This table is called the Network Information Table (NIT). Sometimes, there are multiple tables on an […]

    Read More
  • June 3, 2016 - Mauro Carvalho Chehab

    Watching Digital TV Via Kaffeine

    Kaffeine is a media player application that uses the KDE libraries. As part of my work maintaining the Linux Kernel media subsystem I needed some tools to test whether or not the digital TV core support works properly and to test Linux drivers for new devices. So, I’ve recently been working to improve Kaffeine to offer the necessary features for such tests. As part of this, I recently created a major Kaffeine version (2.0) that uses the latest version of KF5 (KDE Frameworks 5), and to use Qt5 library. I also started helping with upstream Kaffeine maintenance. UPDATE: Added instructions for Arch Linux How to Install Kaffeine Installing Kaffeine is easy. If you run openSUSE Tumbleweed, you can find an up-to-date package with the latest state of development tree in the KDE:Unstable:Extra repository. So, to use the newest version of Kaffeine, all you need to do is to run:


    Read More
  • June 1, 2016 - Mauro Carvalho Chehab

    A Report From the Linux Media Summit in Sunny San Diego

    Linux Media Summit Report 2016 – San Diego The first 2016 Linux Media Summit was recently held on April, 7 in San Diego, California in conjunction with the Embedded Linux Conference. This post will cover some of the major developments that took place during this summit. Linux Media Summit Group Photo CEC Framework Status Update The first version of the Consumer Electronics Control framework is nearing completion, and will likely be submitted for either Kernel 4.7 or 4.8. This framework will allow a lot of useful end-user features including better menu, playback, recording, and tuner control in addition to remote control pass-through. In will also enable better device information discovery and routing. Finally, plans to implement ARC/CDC hotplug support were revealed as well as plans to implement high level protocol constraints (resend, timeout, rate limiting of messages). Whether those constraints can be implemented in the kernel remains to be analyzed, […]

    Read More
  • Part 1 of this series can be read here. Supporting embedded Digital TV (DTV) hardware is complex, considering that such hardware generally has multiple components that can each be rewired during runtime to dynamically change the stream pipelines and provide flexibility for activities like recording a video stream while tuning into another channel to watch a different program. The first article of this series described how the Digital Video Broadcasting (DVB) pipelines are setup and the needs that should be addressed by the Linux Kernel. In this article, I’ll  discuss the needs of the DVB API with a focus on the network interfaces that are part of any DTV device. An Introduction to Digital TV Network Interfaces Typical DTV devices have dedicated hardware that provides the network interfaces. If you would like to learn more about such hardware, check out the first post in this series, specifically Figure 6 and […]

    Read More
  • May 8, 2015 - Mauro Carvalho Chehab

    Media Controller Support for Digital Video Broadcasting

    Supporting embedded Digital TV hardware is complex, considering that such hardware generally has multiple components that can be rewired in runtime to dynamically change the stream pipelines and provide flexibility for things like recording a video stream, then tuning into another channel to see a different program. This article describes how the DVB pipelines are setup and the needs that should be addressed by the Linux Kernel. This introduction will lead into the next article in this series, which will describe how the media subsystem is being improved to support such needs. Digital TV devices A Digital TV device consists of a set of hardware blocks. The basic components are: Tuner – Tunes into a physical frequency (tuner), and outputs the channel on an Intermediate Frequency (IF). Demodulator (a. k. a. demod) – Gets an IF, decodes the sub-carrier(s) content, and outputs the resulting MPEG-TS stream. It is specific for […]

    Read More