
Three Simple Methods to Invoke the Vidispine API From .NET Code by Vidispine June 15, 2016 Howto
Binagora is on fire and returns with another guest post. We know we have a bunch of developers on .NET, therefore we created a .NET SDK. This post shows how you can invoke the Vidispine API from .NET, using the SDK or using standard .NET classes. All with example code.
The following article describe three simple ways to invoke the Vidispine API from .NET code. Two of them use standard .NET classes, while the last one uses the Vidispine .NET SDK. Code snippets were written using C# but you can of course use another language, such as VB.NET, if you want to.
We'll use the simplest test case possible, and let us retrieve the id of the first available item in the Vidispine library.
First of all, let's see how it's done in Postman. As you may already know, it's just a simple http GET request to the Vidispine API to retrieve an item id.
Notice that we're using two Postman variables for a specific environment:
{{vs}}: this is the Vidispine base address (url + port)
{{credentials}}: this is the username and password in basic http format (:) encoded in base64.
Ok, that was the principle of how to query the Vidispine API for an item id. Now let's do the same thing from code.
Given the following constants:
C#
private const string address = http://xxx.xxx.xxx.xxx:8080/API; private const string userName = admin; private const string password = admin;
1
2
3
private const string address = http://xxx.xxx.xxx.xxx:8080/API;
private const string userName = admin;
private const string password = admin;
Option 1: Using WebRequest class
C#
private static string GetUsingWebRequest(string requestUri) { var request = (HttpWebRequest)WebRequest.Create(requestUri); request.Credentials = new NetworkCredential(userName, password); using(var response = (HttpWebResponse)request.GetResponse()) { var stream = response.GetResponseStream(); var reader = new StreamReader(stream); string result = reader.ReadToEnd(); return result; } }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
private static string GetUsingWebRequest(string requestUri)
{
var request = (HttpWebRequest)WebRequest.Create(requestUri);
request.Credentials = new NetworkCredential(userName, password);
using(var response = (HttpWebResponse)request.GetResponse())
{
var stream = response.GetResponseStream();
var reader = new StreamReader(stream);
string result = reader.ReadToEnd();
return result;
}
}
Create a WebRequest, set the credentials and execute the request. Remember to release the request calling the Dispose() method or wrapping the instance into a using statement as we did in the sample.
Notice that in this case, we know the response contains a plain text with an item id. That's why we read the stream, and converts it into a string instead of a specific type.
Option 2: Using HttpClient class
C#
private static string GetUsingHttpClient(string requestUri) { var handler = new HttpClientHandler() { Credentials = new NetworkCredential(userName, password) }; var client = new HttpClient(handler); client.BaseAddress = new Uri(address); string message = client.GetStringAsync(requestUri).Result; return message; }
1
2
3
4
5
6
7
8
9
10
11
12
13
private static string GetUsingHttpClient(string requestUri)
{
var handler = new HttpClientHandler()
{
Credentials = new NetworkCredential(userName, password)
};
var client = new HttpClient(handler);
client.BaseAddress = new Uri(address);
string message = client.GetStringAsync(requestUri).Result;
return message;
}
Similar to previous option, it is just a matter of using another http client from the .NET framework.
In this case, credentials are specified on a client handler, then the http client is created using that handler.
The request is executed asynchronously, which is powerful and could be needed in a real situation.
In this case we're just reading the Result property immediately, but it's important to understand that the request is fired in an independent thread. Once thread is completed, you can execute your own callback.
Option 3: Using Vidispine .NET SDK
C#
private static string GetUsingVidispineSdk() { var rootResource = new VidispineResource(address).Authenticate(userName, password); var itemResource = rootResource.Item; string result = itemResource.SearchPlainGET.Number(1).CallText(); return result; }
1
2
3
4
5
6
7
8
private static string GetUsingVidispineSdk()
{
var rootResource = new VidispineResource(address).Authenticate(userName, password);
var itemResource = rootResource.Item;
string result = itemResource.SearchPlainGET.Number(1).CallText();
return result;
}
Finally the easiest way to do it, just call the SDK. Notice that in this case, the action to be executed is not part of the address. You specify the object and action based on the properties. We may say this is the strongly typed option to do it.
You can find more information about how to download and use the Vidispine .NET SDK in the post Getting Started With the Vidispine .NET SDK. If you want to try out the SDK, you can find the latest versions of the SDK here:
64-bit version of the Vidispine .NET SDK v4.5
32-bit version of the Vidispine .NET SDK v4.5
Running the app will show you the result 3 times, once for each option. In this case first item available is #525 but of course that will depend on your environment.
You can download the full console app code from the following GitHub Gist.
Hope you like it.
This blog post was written by our friends at Binagora. Check them out and see how they can help you with your next Media&Entertainment project.
Most recent headlines
05/01/2027
Worlds first 802.15.4ab-UWB chip verified by Calterah and Rohde & Schwarz to be ...
07/10/2026
Dalet, a leading technology and service provider for media-rich organizations, today announced the latest Long-Term Supported (LTS) release of Dalet Flex. Build...
06/09/2026
June 9 2026, 23:00 (PDT) Dolby and MagentaTV Bring Fans Closer to the FIFA Worl...
29/08/2026
Share
Copy link
Facebook
X
Linkedin
Bluesky
Email...
29/08/2026
Share
Copy link
Facebook
X
Linkedin
Bluesky
Email...
29/08/2026
PlayBox Technology is heading to IBC2026 with a clear message: the future of broadcast and streaming is not about replacing everything it is about making what...
29/08/2026
Berklee Announces Fall 2026 Signature Series This years concerts feature MonoNeon, Brandon Woody, Marcus Gilmore, and Caroline Davis, alongside Berklee Asia R...
28/08/2026
KCBS takes the Chargers side, KCAL takes the Rams - with feeds out to 18 partner...
28/08/2026
(L-R) Topher Grace, Cristin Milioti, Delaney Quinn, Casper Kelly, and Keegan-Michael Key pose with the character Buddy at the Buddy Premiere during the 2026 S...
28/08/2026
The Italian orchestra, reimagined
IK Multimedia have announced the upcoming launch of Sinphonica, a new family of Italian orchestral instruments designed f...
28/08/2026
Voice-isolation plug-in boasts sub-10ms latency
Launched in 2025, CEDAR Audio's Icons range was created with the aim of bringing the company's renow...
28/08/2026
Share
Copy link
Facebook
X
Linkedin
Bluesky
Email...
28/08/2026
Global media technology company Backlight will showcase its latest innovations across Iconik and Wildmoka live video creation and distribution at IBC2026 (booth...
28/08/2026
Emergent, a developer of browser-based, AI-enhanced content production tools, will present its complete AI-enhanced content production platform at IBC2026, exhi...
28/08/2026
Joseph Bell Announces VFX & Animation World Atlas 2026
Joseph Bell August 28, 2026
1 Comment
Joseph Bell's Visual Effects & Animation World Atlas ...
28/08/2026
Paris-Troyes en Champagne Goes Live on France.tv with AVEO
Brie Clayton August 28, 2026
0 Comments
Regional audiovisual company builds broadcastgrade ...
28/08/2026
DHD to Introduce its Third-Generation Audio Mixing Console at IBC 2026
Brie Clayton August 28, 2026
0 Comments
DHD.audio has chosen IBC 2026 as the la...
28/08/2026
Encompass Digital Media and Grass Valley are expanding their collaboration with the launch of Altitude Playout Plus, a software-defined channel origination plat...
28/08/2026
Yospace, the trusted leader in Dynamic Ad Insertion (DAI), has announced the release of its Ad Presentation solution, which enables broadcasters to apply non-li...
28/08/2026
TSL Showcases Reduced Complexity for Control & Monitoring Across IP Workflows at IBC2026
New TSL Hummingbird capabilities including Dante control routing, toge...
28/08/2026
Share
Copy link
Facebook
X
Linkedin
Bluesky
Email...
28/08/2026
Share
Copy link
Facebook
X
Linkedin
Bluesky
Email...
28/08/2026
Share
Copy link
Facebook
X
Linkedin
Bluesky
Email...
28/08/2026
Share
Copy link
Facebook
X
Linkedin
Bluesky
Email...
28/08/2026
GlobalM and Lamhas Satellite Services today announced a new agreement that will see GlobalMs GMX technology deployed as part of Lamhas expanding managed IP broa...
28/08/2026
Integrated 25GbE Connectivity Delivers UHD Video Directly to Up to Two Monitors, Eliminates External Gateways, and Supports SMPTE ST 2022-7 Network-Path Protect...
28/08/2026
Interactive Ask Me Anything sessions will connect broadcasters and technology providers with the experts developing a practical, interoperable roadmap for sof...
28/08/2026
At IBC2026, TAG will show sub-2-frame latency and 800 Gbps of aggregate scale for uncompressed ST 2110 monitoring in software, live MXL interoperability with pa...
28/08/2026
SportsBox, BHV's Ultra-Compact 4K Remote Switcher, Moves from Development to Production at IBC 2026
SportsBox brings flexibility without compromise to high...
28/08/2026
Lutz Rathmann named CEO of Riedel Communications Anthony Zuyderhoff to lead unified customer-facing organization as CCO
Riedel Communications is strengthenin...
28/08/2026
LA JOLLA, CA-Scripps Research has established the Pete Schultz Fund for Innovati...
28/08/2026
LA JOLLA, CA-Chemical structures called cyclopropanols are among the most useful...
28/08/2026
Friday 28 August 2026
Sky Secures Approval for Major Livingston Campus Investme...
27/08/2026
ESPN and Disney are launching College Football Saturdays, adding two college football games per week to Disney for U.S. subscribers as part of their existing ...
27/08/2026
Zixi will exhibit at IBC2026 (Hall 5, Stand 5.A76, RAI Amsterdam, September 11-14), demonstrating the Zixi Platform and the latest release of Zixi Broadcaster, ...
27/08/2026
NDI has announced that its ecosystem has surpassed 1.2 million NDI-enabled hardware nodes worldwide, spanning products from more than 200 hardware brands across...
27/08/2026
Clear-Com conducted a pre-launch field trial of FreeSpeak Cell during Carnival 2026 in Rio de Janeiro, in partnership with Brazilian systems integrator Savana C...
27/08/2026
BHV returns to IBC 2026 with an important milestone for its own SportsBox: the broadcast industry's smallest remote vision mixer and format processor has mo...
27/08/2026
TOGETHXR and Snapchat have announced the second cohort of their Snap the Gap content creator program, welcoming nine athletes as Snap Stars. The program provide...
27/08/2026
MediaKind has announced that CNBC UK has selected Beam to modernize its contribution and distribution infrastructure for live broadcast operations. The deployme...
27/08/2026
Monitor engineer Chris Dwight has deployed Sennheiser's Spectera wideband bi...
27/08/2026
Telestream has announced an expansion of its UP cloud-native platform, adding capabilities for orchestrating Telestream services, third-party technologies, and ...
27/08/2026
Swerve TV has signed a multi-year partnership with GLORY Kickboxing, bringing live GLORY events and library programming to Swerve Combat, Swerve TV's free a...
27/08/2026
Dalet has announced a new integrated content experience with Agence France-Presse (AFP) in Dalet Flex, designed to bring AFP's editorial metadata into the p...
27/08/2026
Grass Valley will demonstrate an integrated live production environment at IBC2026 (Booth 9.A01, RAI Amsterdam, September 11-14), combining K-Frame, Maverik X, ...
27/08/2026
The National Women's Soccer League and Roku have announced an expanded partnership, with the Roku Sports Channel becoming the exclusive streaming home of ei...
27/08/2026
FuboTV has announced the launch of ACC Network Extra (ACCNX) and SEC Network (SECN ) on the Fubo streaming service at no additional cost to subscribers with En...
27/08/2026
Sports marketers have entered the experiential age. Today, sports teams, leagues, and venues are increasingly using immersive interactions and real world events...
27/08/2026
MultiDyne will introduce the MDoG-8800 at IBC2026 (Stand 11.C12, RAI Amsterdam, September 11-14), extending its openGear portfolio with a high-density fiber tra...
27/08/2026
The Joint Task Force on the Dynamic Media Facility (JT-DMF), an initiative of AMWA and the EBU, will host a series of informal Ask Me Anything sessions during...