AVFoundation Open Letter and Experience

Ask software engineering and SDK questions for developers working on Mac OS X, Windows or Linux.
  • Author
  • Message
Offline

Gavin Williams

  • Posts: 2
  • Joined: Sun Dec 28, 2014 11:15 pm

AVFoundation Open Letter and Experience

PostSun Dec 28, 2014 11:53 pm

Hi Blackmagic,
We've been using Blackmagic for the last 2 years in both development and heavy production environments. We capture hundreds of 2 minute videos per day in one of the UK's biggest arena's using your hardware. We've used a variety of your hardware including.

  • Blackmagic Intensity Extreme
  • Blackmagic DeckLink Mini PCI
  • Blackmagic DeckLink Mini Thunderbolt
  • Blackmagic DeckLink Quad

Blackmagic, you seem to have drivers that support AVFoundation. This can't possibly be an accident. You must have taken the time to write drivers to support AVFoundation. I know, I've done kernel programming before and it's not a fun job.

Not only this, but I'm guessing that you didn't write drivers to support the massive list of applications in the tech specs section of all of your products without the use of AVFoundation. I have the list below for you.

  • DaVinci Resolve
  • Fusion
  • Final Cut Pro X
  • Premiere Pro CC
  • Avid Media Composer
  • After Effects CC
  • Avid Pro Tools
  • Steinberg Cubase
  • Autodesk Smoke
  • Photoshop CC
  • Nuke
  • Steinberg Nuendo
  • Avid Symphony
  • Avid News Cutter
  • Tools On Air just:in & live:cut & just:play & just:live
  • Softron OnTheAir
  • MovieRecorder and OnTheAir CG
  • Flash Media Encoder
  • Wirecast
  • Livestream Procaster
  • Resolume Avenue 4
  • Sony Vegas Pro
  • Corel VideoStudio Pro X4
  • CyberLink Power Director
  • MAGIX Video Pro X4
  • Vidblaster Pro & Studio & Broadcast
  • Uniplay
  • Playbox AirBox
  • CasparCG
  • Magicsoft CG
  • Xsplit Broadcaster
  • Imagine Communications Velocity
  • InfoCaster.

What confuses me is that, despite the list above, none of your products work reliably with AVFoundation. For the past year we've battled with getting AVFoundation to work with your products. I've had a look around and it's not just us. Here's a list of issues that we have encountered as well as other developers.

  • Audio sometimes falls out of sync with video, to get around this, we have to restart the capture session at regular intervals
  • In Yosemite, your latest drivers kind of work. When I say kind of, on the DeckLink Mini PCI, the capture session opens once, if you close the session and re-open it (restart the app) you get a black screen, this is essential if you want to change the capture settings! To get around this, you need to set your settings, persist them and then I kid you not, restart your mac! Downgrading drivers to 9 kind of resolves this.
  • The DeckLink Quad will change inputs when you restart OS X sometimes. This is beyond annoying, we were onsite for 4 hours trying to debug the problem until we realised that to get around it, we had to unplug the mini BNC cables and plug them into random ports until we got our picture back. Because of this, we have 2 DeckLink Quads in the office that we've taken out of service and are now using as paper weights
  • Sometimes, you get a black screen in AVFoundation when you open a Capture Session, to get around it, you need to do what we call the Blackmagic dance. This involves waiting for 3 seconds after the capture session initially opens, change the resolution and frame-rate to something other than the current one, wait 5 seconds, change them back to the one that we want and voila, the picture appears
  • HDMI is unreliable across all of your products... period

So far, we've tolerated the inconsistencies with your hardware. You "kind of" support AVFoundation but won't say on these forums whether you actually truly support it.

We've phoned for technical support numerous times and have had to pull our equipment out of the field and bring them back into our office to do a full rig test assuming that it's an issue onsite. Turns out, it was just something wrong with Blackmagic.

The sheer mention of using Blackmagic hardware in our office sends chills down our developers spines.

Surely you'd want to place a nice big fat AVFoundation logo on your supported software page. I guarantee that this will attract more developers to your hardware as it opens the doors to using high end equipment with code that we know and love.

Blackmagic, your development community is begging for answers to some of the questions above. The most important one being, will you commit to AVFoundation? It is the gateway drug to using your SDK. If dev's stumble at the first hurdle, they won't complete the race and will resort to using webcams for apps and interactive installations.

If you're looking for test code, we can't give you ours, but we use this sample app from Apple as a last ditched resort if we can't get things working in our applications - https://developer.apple.com/library/mac ... Intro.html. I suggest that you use it.

Many Thanks,
Gav
Offline

Daniel Moore

  • Posts: 20
  • Joined: Wed Aug 22, 2012 1:06 am

Re: AVFoundation Open Letter and Experience

PostMon Dec 29, 2014 12:46 am

Hi Gav,

Supporting vendor frameworks such as CoreMedia, DirectShow and WDM is quite difficult as it is difficult
to locate problems which may exist in the Blackmagic plugins, applications which use the framework or in
the framework itself.

All Blackmagic software and most third party software uses the Blackmagic Desktop Video SDK which
provides a native API for directly accessing the full capabilities of DeckLink cards. The CoreMedia plugins
are built on top of this API.

I would suggest taking a look at the SDK as it is by far the most powerful way of interfacing with all the
features of the DeckLink, Intensity, Multibridge and UltraStudio product lines.

cheers
Offline

Gavin Williams

  • Posts: 2
  • Joined: Sun Dec 28, 2014 11:15 pm

Re: AVFoundation Open Letter and Experience

PostMon Dec 29, 2014 12:17 pm

Hi Daniel,
So just to be clear, Blackmagic doesn't officially support AVFoundation out of the box. We know from experience that no Blackmagic hardware is detected unless we install drivers when using AVFoundation.

We also resort to using Desktop Video/Studio which you provide to test things if the above doesn't work. The same issues that I note above also appear in your own software, especially when using the DeckLink Quad in Mavericks or Yosemite. Would it be possible to get an answer on the points in my original post?

It may also help us and other developers if there's a clear way to use the SDK to take data from your cards using your SDK and pass that data over to other frameworks in OS X. This will allow us all to have the flexibility of Core Video and Core Audio when using your hardware and all of it's features.

I have no doubt that your SDK is great, but it's all C based which can be a steep learning curve for some Objective-C developers.
Offline

Daniel Moore

  • Posts: 20
  • Joined: Wed Aug 22, 2012 1:06 am

Re: AVFoundation Open Letter and Experience

PostTue Dec 30, 2014 10:53 pm

Hi Gavin,

The Desktop Video install is required to access Blackmagic Desktop Video devices on any platform, using any framework.

Note that the SDK includes comprehensive documentation and quite a few example applications to check out.

If you are experiencing issues with a specific product or feature, please report it separately from any other issues and include sufficient information for engineering to check it out. Key information is:
  • product(s) affected
  • operating system & version(s) affected
  • installer/driver version(s) affected
  • video mode(s) & interface(s) affected
  • applications(s) affected
  • detailed description of the issue & how to reproduce it

cheers
Offline

Bruce Payan

  • Posts: 22
  • Joined: Wed Mar 27, 2013 11:39 am

Re: AVFoundation Open Letter and Experience

PostSat Jan 10, 2015 7:35 pm

All BlackMagic needs to include include a single app (w/source code) that demos video/audio capture and playback using AVFoundation wired into BMD's own SDK. That would be fine, in my mind -- and would appease the issue somewhat. A quick forum search would reveal that I've been asking for this for quite some time, which no official response.

To do so, they should employ the likes of Bob McCune and/or Chris Adamson, both of whom have recently authored seminal books on AVFoundation and CoreAudio, respectively: (Disclosure: I do not know these two).

Meanwhile, the UltraStudio 4K unit I have remains under-utilized for development, with a potential for multiple US-4K deployments in broadcast environments and Canadian pro sports teams (NHL/CFL/MLS) with which I been involved with for 28+ years.
Offline
User avatar

Max Christ

  • Posts: 4
  • Joined: Thu Apr 04, 2013 3:55 pm
  • Location: Cologne, Germany

Re: AVFoundation Open Letter and Experience

PostWed Jan 14, 2015 6:44 pm

I can only support this here. It would be awesome if Blackmagic would implement proper CoreMediaIO drivers. So every application that is using AVFoundation would have access to the devices without custom code.
Offline

gregcotten

  • Posts: 15
  • Joined: Mon Jun 30, 2014 6:04 am

Re: AVFoundation Open Letter and Experience

PostSat Jan 24, 2015 2:46 am

A thousand times yes. This is so vital for getting smaller Mac software to support Blackmagic Video Hardware.
Offline

Matt Jefferson

Blackmagic Design

  • Posts: 127
  • Joined: Fri Aug 31, 2012 12:50 am

Re: AVFoundation Open Letter and Experience

PostMon Jan 26, 2015 6:27 pm

Thank you all for your suggestions and comments on AVFoundation. We appreciate your feedback on Core Media and AVFoundation.

Software developers have successfully used our C++ SDK in many different application areas and we appreciate your request for enhanced support for AV Foundation and Core Media. We hear you and understand why this is important to you.

Our goal is to support all sizes of developers and that is why Blackmagic Designs desktop video SDK is easy to download from our website via a simple registration. Also, the SDK has no financial or contract requirement for licensing other then agreement to the online license document. Also, as noted earlier, our SDK provides a deeper and more efficient level of hardware and software control than generalized APIs.

We do not comment on future plans nor do we pre-announce support for APIs so if and when we have an update on support for specific API, we will announce it here ASAP.
Offline

Bruce Payan

  • Posts: 22
  • Joined: Wed Mar 27, 2013 11:39 am

Re: AVFoundation Open Letter and Experience

PostWed Jul 20, 2016 5:44 pm

I challenge BMD SDK creators to just take a bit of time to look at Apple's direction in the A/V realm. For example, check out the WWDC videos from the last couple of years.

The result will be clear: AVFoundation is their path.

And yet BMD seems to be entirely disinterested in supporting AVFoundation. Do they not have the resources for writing a simple set of wrapper classes? Such a thing could access its SDK -- but do so with using the underlying video pixel & audio buffers provided by a simple AVPlayer (for example) in AVFoundation. Think about that... just how a simple video player (and capture demo) would help many a Mac developer with sample code to run with, opening up BMD devices to more widespread acceptance on the Mac platform.
Offline

justinmiller62

  • Posts: 2
  • Joined: Wed Jun 14, 2017 5:54 pm

Re: AVFoundation Open Letter and Experience

PostWed Jun 14, 2017 5:57 pm

Is there any movement on this? Using black magic Intensity Pro 4k and what could be multiple studios if I was able to utilize the capture card with AVFoundations, not to mention how many users could use the capture card to capture directly into FCPX if the support were there for this.

If BlackMagic won't listen to reason, has anyone considered starting an open source project to write a CoreMediaIO driver so the video and audio would be included as an AVCaptureDevice?

Thanks,

Justin
Offline

justinmiller62

  • Posts: 2
  • Joined: Wed Jun 14, 2017 5:54 pm

Re: AVFoundation Open Letter and Experience

PostThu Jun 15, 2017 2:11 pm

We might be able to use this github CoreMediaIO sample project to feed the video from the SDK into a kext driver to create an AVCaptureDevice.

https://github.com/csuft/iVCam

Return to Software Developers

Who is online

Users browsing this forum: No registered users and 4 guests