Blackmagic Decklink SDI and Linux

June 24, 2011 6 comments

Almost a year ago, I invested in a central London based post-production company. At the time, I had dreams of pushing open source software solutions into the professional post-production arena. Things haven’t quite worked out as planned, and I’ve made very limited headway on this project. Business imperatives took over and changing a whole ecosystem is a big job. I’ve continued to use Linux on my laptop and happily connect to printers and network drives, but that’s about all.

Recently I had an opportunity to change all that. We needed a tape digitisation solution, separate from our Avid editing suites, for a new project. I’ve know for a while that Blackmagic’s Decklink range of cards work with Linux and were pretty good for capturing from SDI. We purchased the basic Decklink SDI card, re-cycled an old machine onto which I installed Linux Mint Debian and away we went….

Things weren’t entirely smooth from the start. I upgraded the Mint Debian ISO, including the kernel to 2.6.39. This was my first mistake. The card was not recognised with this kernel. Booting into the original 2.6.32 kernel overcame this problem and the card was recognised. I had to download the relevant Linux software from the Blackmagic website, as the accompanying DVD only included Windows software. The available Linux software from Blackmagic included the relevant drivers, firmware and Media Express software. Unfortunately, other advertised items such as the drive speed test and alpha keying utilities are not available for Linux.

Once everything was up and running, it was time to capture. The Media Express 2.3.1 software was pretty straight forward to use. Setting in and out points allowed the software to control the J30 Digibeta deck and content was captured in Uncompressed 10-bit YUV formate. The other limited codec options included Uncompressed 8-bit YUV, RGB and MotionJPEG. This uncompressed file was then transcoded to IMX50 using FFMbc. The whole process seemed to work reasonably well, and I’m just now waiting to send the IMX50 sample off for technical inspection.

Unfortunately, the Media Express software as supplied did not provide options to change the SD captured frame size from 720×576 to anything else. Ideally I was looking for 720×608 so that VITC was also captured. A phone call to Blackmagic revealed that this was possible with the Windows and Mac version of their software, but not on Linux. Their Linux SDK did expose the necessary calls, but the software had not been written to include them. Essentially, if I wanted VITC, I’d need to write a capture utility myself. Somewhat disappointing.

Overall, I’m pleased that we now have an SDI capture solution running on Linux. However, the Blackmagic Decklink card still feels a little half baked and Linux was perhaps only an afterthought for them.

In Austria: bob Breitband and the ZTE MF180

June 11, 2011 2 comments

I travel a great deal in Europe. Specifically Germany and Austria. I also use the Internet excessively. UK mobile data roaming rates are absurdly expensive. T-Mobile UK sends me a friendly text whenever I try to use data roaming informing me that it will cost £1 for 3MB, £5 for 20MB or £10 for 50MB. Crazy, and crazily expensive.

I finally decided to bight the bullet and buy a 3G data dongle in Austria. Originally I had thought to purchase something from 3 (Drei), however it seemed that everything advertised was on a two year contract. That’s not for me. Ultimately I went for a bob breitband package. This includes a ZTE MF180 3G dongle/stick and a SIM card. Buying the package for €50 was the easy bit. The package itself was €50 for the dongle, with 1GB data gratis, and then €9 for 9GB per month, on a 30 day rolling contract. €9 for 9GB isn’t too bad, although if you exceed this limit the cost is €4 per GB, which is bad. The other gotcha is that you need an Austrian bank account to setup a direct debit for the monthly payments. I won’t bore you with the details of how I have access to one of those.

After opening the package, inserting the SIM card and then plugging the dongle into my Mint Debian laptop, nothing happened. That’s right, nothing. The dongle showed a red light and Network Manager didn’t recognise any new modem. Cutting long stories short, I unplugged, plugged in, unplugged, plugged in, fiddled and swore for a good hour with no luck. At the point of the customer support help line answering, magically I obtained a connection. The light on the 3G dongle had turned blue. I had no idea how. All is good for the remainder or the day, except that the connection is slower than anticipated. Using speedtest.net, initially I was seeing a download speed of only 1.6Mbps and an upload of 0.10Mbps. Pretty poor. Later in the evening this increased to 2.6Mbps download and 0.3Mbps upload. Still not great.

This morning, I once again found it impossible to obtain a connection? Why? Why? WHY? I extracted the SIM card from the dongle and inserted it into my Nokia N900 phone. With the marvelous help of bluetooth, I easily obtained a data connection. The connection dropped occasionally, but in general all was good. The problem was not with the SIM.

Now that I had a connection again, I used our Googlian friends to search for “ZTE MF180 Debian” for answers. The answer was easy to find. Apparently, the 3G USB dongle is initially recognised as a CD-ROM drive. Eject the drive and everything works. Network Manager asks for a pin number to unlock the SIM, then one is able to connect. I don’t know why the dongle is recognised as a CD-ROM drive, and I don’t know why ejecting it fixes the problem, but it does. Thanks to Christian Amsuess for the information. If everything doesn’t work as expected after ejecting the CD drive, there is more help on Christian’s page.

The network speed is no better today, but at least I’m back online. I wouldn’t recommend bob breitband, even with the cool name, and I certainly would not recommend ZTE MF180 dongle. I’m sure ejecting the CD drive every time I need a connection will become annoying, but at least it works.

How To Install FFmbc on Debian Testing

March 31, 2011 4 comments

Every once in a while I decide to install the latest FFmpeg/FFmbc on my machine. Despite all the recent upheaval in the FFmpeg camp, it is still a fabulous open source file transcoding tool. However, I am much more interested in these tools from a professional level, and thus now use FFmbc. FFMedia Broadcast supports a number of high end formats that FFmpeg doesn’t, or at least doesn’t very well – XDCAM HD and IMX/D10 for example. The latest FFmbc-0.6-rc3 has introduced some interesting transcoding preset options to make things even easier.

FFmbc isn’t packaged. It needs to be installed manually. I’ve covered doing this for FFmpeg in the past, but options and switches are always changing, plus some of these in FFmbc are quite different. Here’s how I achieved it today…..

My build system is a fresh install of Linux Mint Debian (LMDE). It’s based on Debian Testing.

First, we need to update the sources list. Depending on your distribution, you may not need to do this. LMDE already has this repository added. I use pico as my text editor. Feel free to use nano, vi or emacs if you prefer.

Go to the Debian Multimedia repository site and download the keyring package. Follow the instructions for unpackaging it about half-way down the front page. Now update your sources list:

>sudo pico /etc/apt/sources.list

Add “deb http://www.debian-multimedia.org testing main” on a new line and save the file.

>sudo apt-get update
>sudo apt-get upgrade

Now you’re using the latest sources and packages.

I used to build x264 direct from source. I’ve found that the Debian Multimedia repository has a packaged version from February 12th, 2011 available. That’s new enough, so I just installed the library package.

Next, install all the additional libraries we’ll need:

>sudo apt-get install build-essential yasm libgpac-dev libdirac-dev libgsm1-dev libschroedinger-dev libspeex-dev libvorbis-dev libopenjpeg-dev libdc1394-22-dev libsdl1.2-dev zlib1g-dev texi2html libfaac-dev libmp3lame-dev libtheora-dev libxvidcore4-dev libopencore-amrnb-dev libopencore-amrwb-dev frei0r-plugins-dev libcv-dev libvpx-dev libgavl1 libx264-dev

Now to configure FFmbc. There’s so many options, it’s sometimes hard to know which ones to choose. The list below is my personal preference, but do try ./configure –help to assist in choosing your own.

>./configure –enable-gpl –enable-version3 –enable-nonfree –enable-shared –enable-postproc –enable-runtime-cpudetect –enable-libopencore-amrnb –enable-libopencore-amrwb –enable-frei0r –enable-libdc1394 –enable-libdirac –enable-libfaac –enable-libgsm –enable-libmp3lame –enable-libopenjpeg –enable-libschroedinger –enable-libspeex –enable-libtheora –enable-libvorbis –enable-libvpx –enable-libx264 –enable-pthreads –enable-libxvid –enable-zlib

After a successful configuration, all the enabled decoders, encoders and muxers will be displayed. There are some configuration dependencies here. If you don’t –enable-gpl things like postproc will fail at build time. Next….

>make
>sudo make install

“Make” will probably take quite a long time. Hopefully it will all proceed without any fatal errors.

In the past, I recommended manually building qt-faststart. A little utility that moved header atoms in mpeg4 files to allow for progressive downloads. This is not required for FFmbc as  -faststart is now a switch within the mp4 muxer.

Finally, it would still seem that simply typing “ffmbc” on the command line will throw an error regarding shared libraries (we did build FFmbc with –enable-shared). To fix this we do the following:

>sudo pico /etc/ld.so.conf

Add the line “/usr/local/lib” (without quotes) to this file and then save it. Read more about dynamically linked libraries here, specifically the fourth paragraph to explain what we just did. Then:

>sudo ldconfig

We’re finished! Next thing for you to do is learn how to use it…… Most FFmpeg tutorials will be valid, as FFmbc is regularly synchronised on FFmpeg, but also read the information on the FFmbc project pages about how to use the XDCAM HD and IMX/D10 presets.

I did strike one problem trying to install FFmbc with OpenCV support. It’s been reported and I’m sure will be addressed soon.

Categories: FFmbc

A Blog Reborn

March 27, 2011 Leave a comment

When I orginally started this blog back at the beginning of 2008, it was dedicated specifically to open source video topics. This was something I was passionate about and involved in. Over the last three years much has changed, although I am still deeply interested in open source video.

Over time I found that I wanted to blog about other topics, but didn’t really have an outlet for this. I didn’t want another blog.

My work circumstances also changed. After eight years at BBC Worldwide, most recently as Head of Digital Distribution, it was time for a change. I invested in a small post-production company in central London, The Station, and also started consulting for mediapeers, a specialist broadcast content distribution tool vendor.

I was also paying too much money each month for a dedicated server that I wasn’t really using. This blog has now moved to WordPress’ own hosting solution.

There it is, a new start and a fresh approach. I sincerely hope there will be a steadier stream of content on this blog, from a wider range of topics.

Categories: Uncategorized

Handbrake 0.9.5 Released

January 5, 2011 Leave a comment

Handbrake is one of the very few, functionally mature open source video transcoding tools with a decent, usable user interface (of course command line options are still available).
 
Generally the Handbrake development team take a long time between official releases, and v0.9.5 is no exception. This latest version comes more than a full calendar year after the previous milestone release.

While Handbrake doesn’t support a wide range of broadcast video formats, which would be a nice addition for me personally, this is not really their target market. Handbrake does a great job on web targeted and home use video encoding jobs. Ripping Blu-Ray DVDs, encoding for Apple TV2 and advanced finite controls for H.264 transcoding are all now supported in the latest release.

Further details about the release available here.

Discussion thread, specific to this release, available here.

Multi-platform downloads found here.

FFmbc v0.5 Available

November 16, 2010 1 comment

It has been announced as available for a while now, but only recently was the download made publically available again for FFmbc 0.5. Lead developer Baptiste is doing a super job moving this project forward, but really needs the support from more media professionals to fully realise the early promise of this open source, broadcast media focused, transcoding solution.

FFmbc 0.5 download available here.

FFmbc 0.5 feature updates include:

  • Sync on FFmpeg svn r25202.
  • Yadif video deinterlacing filter.
  • Overlay video filter.
  • Fade video filter.
  • HQDn3d video filter.
  • Rename ffmpeg binary to ffmbc.
  • FFmbc is now GPL only.
  • Disable shared libraries.
  • Remove -s resizing output cli option, use -vf scale.
  • 23.98 and 24 fps support in MXF muxer.
  • Mpeg-2 aspect ratio bitstream filter, to change aspect ratio without reencoding.
  • Fix an issue with -async and audiomerge.
  • Fix an issue with the fade filter.
  • Write interlacing information in mov files, fix deinterlacing with quicktime player.
  • Correctly support interlaced in yuv4mpeg and quicktime.
  • Display interlacing when printing information.
  • Fix an issue with resampling and audiomerge.

Categories: FFmbc, FFmpeg, Video Tags: , ,

General Open Source NLE Round-Up

November 10, 2010 Leave a comment

It’s been quite a while since I’ve posted any open source NLE updates, and there have been new releases across the board. Here’s a quick round-up of a few noticeable updates.

KDENLive (http://www.kdenlive.org)
Version: 0.7.8
Released: September 14th, 2010
Updates: Improved tools for color correction, improved UI for effects
(you can now adjust some transitions and effects directly on the
monitor), track effects, improved slideshows.

PiTiVi (http://www.pitivi.org/)
Version: 0.13.5
Released: September 21st, 2010
Updates: Periodic backup of the current project file, easy crossfading transitions by overlapping clips, better icon metaphors for link/unlink actions, pixel-perfect icons for various toolbar icons, new “add keyframe” button (and keyboard shortcut), the “missing plugins” installer has been fixed.

OpenShot (http://www.openshotvideo.com)
Version: 1.2.2
Released:
September 21st, 2010
Updates:
Improved Stability, 3D Animated Titles, Custom Transitions, New Audio & Video Effects, Time-line Improvements / Animations, Improved Effects User Interface, Improved Theme Engine, Razor Improvements, Improved Language Support, New DVD Export, Improved Preferences Dialogue, Improved Exporting of different frame-rates.

LiVES (http://lives.sourceforge.net)
Version: 1.0.10
Released: October 15th, 2010
Updates: Backported fixes from development branch.


Follow

Get every new post delivered to your Inbox.