
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 ...
01/06/2026
January 6 2026, 05:30 (PST) Dolby Sets the New Standard for Premium Entertainment at CES 2026
Throughout the week, Dolby brings to life the latest innovatio...
02/05/2026
Dalet, a leading technology and service provider for media-rich organizations, t...
01/05/2026
January 5 2026, 18:30 (PST) NBCUniversal's Peacock to Be First Streamer to ...
01/04/2026
January 4 2026, 18:00 (PST) DOLBY AND DOUYIN EMPOWER THE NEXT GENERATON OF CREATORS WITH DOLBY VISION
Douyin Users Can Now Create And Share Videos With Stun...
28/03/2026
Now features DiGiCo console integration
Harrison's live recording and virtual soundcheck software has just reached its third major version, which among ...
28/03/2026
MPE-capable chamber strings library announced
Alongside their collection of Kontakt instruments, Sonora Cinematic have been steadily introducing a series of...
28/03/2026
Globecast, the leading provider of broadcast, media and entertainment managed services, will showcase its reimagined approach to media operations at the 2026 NA...
28/03/2026
Share
Copy link
Facebook
X
Linkedin
Bluesky
Email...
27/03/2026
In-venue and creative video staffers at the professional and collegiate level ha...
27/03/2026
Comcast Business deployed network infrastructure for the 2026 PLAYERS Championsh...
27/03/2026
Czech production company CS live has equipped its newest outside broadcast van w...
27/03/2026
Edith Cowan University (ECU) in Perth, Western Australia has developed new broad...
27/03/2026
Deltatre has announced that CEO Andrea Marini will step down after five years in...
27/03/2026
DAZN has announced plans to launch DAZN Inflight, a live sports service for airline and maritime passengers, slated for 2027. Aviv Giladi, President of DAZN Par...
27/03/2026
Grass Valley has announced the completion of a live production deployment with NVP, a European media company specializing in live sports production, for LALIGA ...
27/03/2026
The Masters and Prime Video will debut Inside Amen Corner, a dedicated feed that...
27/03/2026
ESPN and the World Series of Poker (WSOP) have reached a multi-year agreement to bring the WSOP Main Event back to ESPN platforms. Coverage will include a three...
27/03/2026
USSI Global has opened its Media Transport Solutions Lab on its Melbourne campus. The engineering center provides a platform-agnostic environment for testing al...
27/03/2026
From 14-camera coverage to official review from Variant Systems Group, Sellitto ...
27/03/2026
The United Football League (UFL) has named Sportable its Official Connected Ball and Player Tracking Partner. Sportable's connected football and wearable pl...
27/03/2026
Ratings Roundup is a rundown of recent rating news and is derived from press rel...
27/03/2026
The Atlanta Braves and FuboTV have announced a multiyear distribution agreement to carry BravesVision on Fubo's live TV streaming platform beginning Opening...
27/03/2026
Besides restructuring for Season 3, the league worked with FOX and ESPN over the...
27/03/2026
The Atlanta Braves open their 2026 MLB season tonight against the Kansas City Ro...
27/03/2026
With new teams and new venues to adapt to, the spring-football league's part...
27/03/2026
By Lucy Spicer
One of the most exciting things about the Sundance Film Festival...
27/03/2026
New Classic, Amplitude & FlexRange units introduced
GIK Acoustics have just introduced a trio of new bass trap designs that bring improved low-end absorptio...
27/03/2026
Offers personalised Dolby Atmos headphone monitoring
Sonarworks have put their calibration expertise to work on a new mobile app that allows users to create...
27/03/2026
NITV to broadcast farewell to Rhoda Roberts AO with special coverage and week-lo...
27/03/2026
Share
Copy link
Facebook
X
Linkedin
Bluesky
Email...
27/03/2026
Share
Copy link
Facebook
X
Linkedin
Bluesky
Email...
27/03/2026
Share
Copy link
Facebook
X
Linkedin
Bluesky
Email...
27/03/2026
Marshall Electronics Showcases New Feature-Rich CV320 and CV520 IP and 3G-SDI PO...
27/03/2026
Sony Electronics Inc. Elevates Professional Video Workflows with Powerful Update...
27/03/2026
GatesAir Extends AirWatch365 Managed Service with Edge Gateway Site Appliance
Brie Clayton March 27, 2026
0 Comments
NAB marks global launch of servic...
27/03/2026
Share
Copy link
Facebook
X
Linkedin
Bluesky
Email...
27/03/2026
Share
Copy link
Facebook
X
Linkedin
Bluesky
Email...
27/03/2026
Share
Copy link
Facebook
X
Linkedin
Bluesky
Email...
27/03/2026
Share
Copy link
Facebook
X
Linkedin
Bluesky
Email...
27/03/2026
At NAB Show 2026, Net Insight will showcase the next evolution of Nimbra Edge, its orchestration and control layer designed to manage live media services across...
27/03/2026
Harmonic (NASDAQ: HLIT) today announced powerful new innovations that further elevate the company's sports streaming solution. The advanced capabilities enh...
27/03/2026
Bitmovin, the leading provider of video streaming solutions, today announced significant new capabilities for Player Web X, its next-generation web video player...
27/03/2026
Riedel Communications today announced that Czech-based production company CS live has equipped its newest outside broadcast (OB) van with an integrated Riedel i...
27/03/2026
130 Industry Experts Confirmed as Show Celebrates its 10th Anniversary
MPTS, the UK's largest and most influential event for the media, production and tech...
27/03/2026
Grass Valley today announced the successful completion of a major live production deployment with NVP, a leading European media company specializing in live spo...
27/03/2026
Showcases resilient solutions for satellite-to-IP migration, REMI and hybrid live production
Appear ASA (Appear, OSE:APR), a global leader in live production t...
27/03/2026
San Francisco, California, March 2026 - Microsoft Ignite, a major annual conference hosted by Microsoft for developers, IT professionals, partners and business ...
27/03/2026
Clear-Com is proud to highlight its support for worship teams through professional communication solutions, with the deployment of its EQUIP wireless system a...
27/03/2026
Orban Collaborates with Sage on Virtualized EAS Technology Demo
Brie Clayton March 26, 2026
0 Comments
Sage Alerting Systems (SAS), in cooperation wit...