
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 ...
06/09/2026
June 9 2026, 23:00 (PDT) Dolby and MagentaTV Bring Fans Closer to the FIFA Worl...
04/08/2026
Dalet, a leading technology and service provider for media-rich organizations, t...
10/07/2026
Why CRAS Upgraded to Symphony I/O MK II When an audio school runs studios all day, every day, gear doesn't just need to sound good , it needs to survive rea...
10/07/2026
Share
Copy link
Facebook
X
Linkedin
Bluesky
Email...
10/07/2026
Hey Man, Cheech & Chong's Last Movie Rolls With SNS EVO
Melanie Ciotti July 10, 2026
0 Comments
Richard Cheech Marin and Tommy Chong have long b...
10/07/2026
Alex Zarfati's Fail Safe Shot with Blackmagic PYXIS 12K
Brie Clayton July 10, 2026
0 Comments
Camera's full frame sensor supports anamorphic s...
10/07/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...
10/07/2026
Share
Copy link
Facebook
X
Linkedin
Bluesky
Email...
10/07/2026
Share
Copy link
Facebook
X
Linkedin
Bluesky
Email...
10/07/2026
Share
Copy link
Facebook
X
Linkedin
Bluesky
Email...
10/07/2026
Share
Copy link
Facebook
X
Linkedin
Bluesky
Email...
10/07/2026
Share
Copy link
Facebook
X
Linkedin
Bluesky
Email...
10/07/2026
Share
Copy link
Facebook
X
Linkedin
Bluesky
Email...
10/07/2026
New RT documentary explores Irish-led efforts to build bridges in divided Cyprus
More than a Game: From D1 to Pyla airs Monday 13 July
More Than a Game: Fro...
09/07/2026
With 50+ cameras, three trucks, 60+ EVS channels, RFID hole-card workflows, and ...
09/07/2026
A recent graduate from Westchester, NY, this experienced technician has already started her first gig in the industry, as a REMI A2 Comms Specialist at ESPN
In...
09/07/2026
Live sports production is a fast-paced industry with no signs of slowing down. W...
09/07/2026
From a rooftop studio in Manhattan, multiple Germany-based companies share respo...
09/07/2026
Overtime has announced a content partnership with FOX One to produce Race to Glo...
09/07/2026
Clear-Com has announced that Ross Production Services (RPS) has standardized on ...
09/07/2026
The NFL has announced that NetApp will return as Presenting Partner of the NFL Madrid Game, featuring the Atlanta Falcons against the Cincinnati Bengals at the ...
09/07/2026
The R&A and Cisco have announced a multi-year partnership making Cisco the Official Network Supplier of The R&A and its Championships. Cisco will deploy AI-read...
09/07/2026
Fox Television Stations, Extreme Reach (XR), and LTN have announced the completi...
09/07/2026
Kiswe has announced a partnership with Wynn Records to launch the Wynn Records Network streaming platform, debuting Saturday, July 11 with a Salita Promotions b...
09/07/2026
NEP Europe has announced a new multi-year agreement with Wimbledon Broadcast Ser...
09/07/2026
Thropic Games, a company offering casual mobile games tied to fan fundraising for sports programs, has announced a pre-seed funding round led by The Famous Grou...
09/07/2026
Game Creek Video has reached an agreement with Grass Valley to purchase 10 K-Frame production switchers as part of a two-year fleet expansion. Two systems have ...
09/07/2026
Gravity Media is delivering a three-hub remote production workflow for ITV's...
09/07/2026
A new report from Quickplay and Caretta Research, The Broadcaster Revolution Wi...
09/07/2026
DAZN, the world's leading sports entertainment platform, has announced a long-term strategic partnership with the Esports World Cup Foundation to serve as t...
09/07/2026
The regional sports network is staying busy this summer with broadcasts of the N...
09/07/2026
Latest analogue-emulation plug-ins revealed
Universal Audio have just added two new analogue-emulation plug-ins to their DSP-powered UAD line-up. Developed ...
09/07/2026
Limited-edition mic celebrates rock icon
Neumann have partnered with the Bon Scott Estate to create a limited-edition version of the U 47 FET that honours b...
09/07/2026
Handles organisation, updates, troubleshooting & more
Created by pro-audio software developer Julian Worden, Plugin Station from Julian Michael Technologies...
09/07/2026
Introduces new $1 million advance programme
LANDR have just announced the next phase of their Fair Trade AI programme, a pioneering opt-in music-licensing p...
09/07/2026
Four new titles now available
Spitfire Audio have just introduced four new titles in their Originals range, bringing the total count of libraries in the low...
09/07/2026
SBS statement Royal Commission on Antisemitism and Social Cohesion
9 July, 2026
Media releases
SBS acknowledges the gravity of the matters before the Roy...
09/07/2026
08 July 2026, Johannesburg - The National Film and Video Foundation (NFVF), an a...
09/07/2026
Blackmagic Design Announces New UltraStudio Express 3G
Brie Clayton July 9, 2026
0 Comments
New extremely portable capture and playback models with 3G...
09/07/2026
Miri Introduces Self-Service Cellular Data and SIM Card Management Platform for ...
09/07/2026
Riedel Communications today announced that the Hong Kong Jockey Club (HKJC), one of Asia's most prestigious horse racing organizations, has significantly up...
09/07/2026
Leading North American mobile production facility provider standardizes on Grass Valley's fully IP-native K-Frame production switchers for its fleet of next...
09/07/2026
Miri Technologies Inc. is rolling out a new online portal that provides customers and resellers with self-serve management tools and usage analytics for the com...
09/07/2026
Share
Copy link
Facebook
X
Linkedin
Bluesky
Email...
09/07/2026
Cinematographer Aakash Subramaniam, WICA faced a conceptual challenge: how could he make a film about dying that doesn't feel like one? The film, Our Weird...
09/07/2026
Years in the making, this intimate documentary draws on rare access to Leah Crouchers family to tell the story behind one of Britains most high-profile missing ...
09/07/2026
Thursday 9 July 2026
Enjoy Gigafast speeds and Ultimate TV pack for less
The latest deals have dropped from Sky TV and Sky Broadband, the award-winning provid...
09/07/2026
Hands up who would like to dress up as a giant crisp packet?
The call that went out across the agency as our anti-litter campaign, Wish you weren't here fo...
09/07/2026
This GFN Thursday brings more games, more power and more ways to play on GeForce NOW.
The cloud gaming service is expanding with a new GeForce RTX 5080-powere...