
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...
04/08/2026
Dalet, a leading technology and service provider for media-rich organizations, t...
23/07/2026
Share
Copy link
Facebook
X
Linkedin
Bluesky
Email...
23/07/2026
Share
Copy link
Facebook
X
Linkedin
Bluesky
Email...
23/07/2026
David Dvir, 2D founder (left), Sundeep Reddy (center), and Jean-Marc Bouchut (right), both of Zeiss...
23/07/2026
Screen Australia announces new national documentary accelerator program 23 July 2026
Screen Australia has today announced the Above the Line Documentary Accel...
22/07/2026
Among other tweaks to coverage, the broadcaster added announce positions in the ...
22/07/2026
The Australian Sports Technologies Network (ASTN) has reported a sharp acceleration in Australia's sportstech sector, with revenue growth rising from 10% in...
22/07/2026
From a retrofitted broadcast bus to packed Match Day Live! events, Bennett detai...
22/07/2026
TMRW Sports has named Brendan Donohue as President, Flag Football, where he will lead the company's professional flag football business in partnership with ...
22/07/2026
Stephen Arnold Music (SAM) designed and produced soundtracks for nine projection...
22/07/2026
Harmonic has announced a $25,000 donation to Global Empowerment Mission (GEM) fo...
22/07/2026
Telemundo has announced it has acquired from UC3 exclusive U.S. Spanish-language...
22/07/2026
The Rest Is Football, hosted by Gary Lineker, Alan Shearer, and Micah Richards, ...
22/07/2026
Sports Studio has announced a partnership with TheSoul Group to distribute Free ...
22/07/2026
Daktronics has concluded its 2026 High School Video Summit, a two-day hybrid event combining virtual sessions with hands-on host school visits across the countr...
22/07/2026
FOR-A America will exhibit at the MMCA Show in Pensacola, Florida (July 21-24), marking the company's first appearance at the house of worship AV event. FOR...
22/07/2026
The New York Yankees have selected Lumen Technologies (NYSE: LUMN) to connect Ya...
22/07/2026
Calrec will exhibit at IBC 2026 (Stand 8.C47) with demonstrations of its IP-native audio ecosystem built around the Argo console range, and will announce two ne...
22/07/2026
Solid State Logic has announced the appointment of Algam EKO as its distributor for SSL large format consoles in Italy, covering the Live, Broadcast, and Studio...
22/07/2026
FloSports has announced the launch of the FloSports Channel, a free ad-supported streaming channel premiering on Prime Video in the U.S. on July 21. The channel...
22/07/2026
Banana Ball TV (BTV), the broadcast operation of the Savannah Bananas, has insta...
22/07/2026
SiriusXM and Audacy have announced an agreement bringing 42 Audacy sports, news, and talk stations from 29 U.S. markets to SiriusXM. Twenty-three Audacy sports ...
22/07/2026
The collaboration produced more than 500 short-form videos across four cities th...
22/07/2026
At 2,600 sq. ft., the new home of digital content houses a main studio, podcast space, and an auxiliary control room
NFL franchises are accelerating their prod...
22/07/2026
Library now available in Engine Player
Another of Eduardo Tarilonte's popular sample libraries has just been moved over to Engine Audio's Engine Pla...
22/07/2026
All-in-one mic & DSP interface overhauled
Cloudvocal have just refreshed the design of their all-in-one mic, audio interface and DSP processor, introducing ...
22/07/2026
The final boss of the lost dual-op-amp circuit
Electro-Harmonix have just introduced the Deluxe Big Muff Pi 2, which they say offers their latest take on t...
22/07/2026
eds3_5_jq(document).ready(function($) { $(#eds_sliderM519).chameleonSlider_2_1({ content_source:......
22/07/2026
Share
Copy link
Facebook
X
Linkedin
Bluesky
Email...
22/07/2026
Share
Copy link
Facebook
X
Linkedin
Bluesky
Email...
22/07/2026
Proven managed IP solution helps broadcasters confidently navigate the future of broadcast distribution
LTN announces it has completed successful satellite-to-...
22/07/2026
Today, Chaos announced V-Ray 7, update 4, eliminating the need for asset conversions and tool switching, which slow down media and entertainment pipelines. Arti...
22/07/2026
An AI playground for the Project Indigo camera app
Marc Levoy July 22, 2026
0 Comments
At left is the user interface of our Playground, running on an ...
22/07/2026
Custom Consoles announces the completion of a large technical furniture project for Radio T l vision Suisse (RTS) at the networks recently inaugurated productio...
22/07/2026
Share
Copy link
Facebook
X
Linkedin
Bluesky
Email...
22/07/2026
Share
Copy link
Facebook
X
Linkedin
Bluesky
Email...
22/07/2026
Share
Copy link
Facebook
X
Linkedin
Bluesky
Email...
22/07/2026
Culver City, CA, July 21, 2026 3D streaming infrastructure provider Miris today announced glTF intake, including the binary .glb form, to its spatial streamin...
22/07/2026
Documentary Lo Invisible Captured with Blackmagic PYXIS 6K
Brie Clayton July 21, 2026
0 Comments
Camera's versatile design allowed filmmakers to c...
22/07/2026
AAF Bridge converts AAF and XML Timelines to Ableton Live - and back
Jerome Gardier July 21, 2026
0 Comments
A two-way converter for macOS and Windows...
22/07/2026
From Class to Concert: Explore a Student-Led Production of David Bowies Work Thr...
22/07/2026
NVIDIA founder and CEO Jensen Huang today visited the Naval Postgraduate School in Monterey, California, to commission an NVIDIA DGX GB300 system - bringing one...
22/07/2026
A poisoned spy, a secret war, and a small English city contaminated by a deadly chemical weapon. Available on Sky Documentaries from 4 AugustWednesday 22 July 2...
22/07/2026
Audio at Parity: Comscore Launches Transcript-Level Targeting and Measurement wi...
22/07/2026
Arvato Systems and Lobster Enter into a Partnership and Combine the Integration Platform and Managed Services
Flexible integration solutions for cloud, hybrid...