Convert a Video File to GIF in C/C++

Cloudmersive
1 min readJun 26, 2021

GIFs have provided the online community an interactive way to communicate and reach audiences via short animations and video clips. If you want to leverage this approach to optimize and create content for your website or application, this brief tutorial will demonstrate how you can use an API in C/C++ to automatically convert any video format to GIF.

To begin, you can Install libcurl into your C/C++ project:

libcurl/7.75.0

Next, you can call the video conversion with the following code:

CURL *curl;
CURLcode res;
curl = curl_easy_init();
if(curl) {
curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(curl, CURLOPT_URL, "https://api.cloudmersive.com/video/convert/to/gif");
curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
curl_easy_setopt(curl, CURLOPT_DEFAULT_PROTOCOL, "https");
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "fileUrl: <string>");
headers = curl_slist_append(headers, "maxWidth: <integer>");
headers = curl_slist_append(headers, "maxHeight: <integer>");
headers = curl_slist_append(headers, "preserveAspectRatio: <boolean>");
headers = curl_slist_append(headers, "frameRate: <integer>");
headers = curl_slist_append(headers, "startTime: <dateTime>");
headers = curl_slist_append(headers, "timeSpan: <dateTime>");
headers = curl_slist_append(headers, "Content-Type: multipart/form-data");
headers = curl_slist_append(headers, "Apikey: YOUR-API-KEY-HERE");
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
curl_mime *mime;
curl_mimepart *part;
mime = curl_mime_init(curl);
part = curl_mime_addpart(mime);
curl_mime_name(part, "inputFile");
curl_mime_filedata(part, "/path/to/file");
curl_easy_setopt(curl, CURLOPT_MIMEPOST, mime);
res = curl_easy_perform(curl);
curl_mime_free(mime);
}
curl_easy_cleanup(curl);

And your downloadable GIF file will be ready for you at the end of the operation! Easy.

--

--

Cloudmersive

There’s an API for that. Cloudmersive is a leader in Highly Scalable Cloud APIs.