Methods: bulkinfo | info | create | upload | update | delete
Get information about media by one or several codes.
Input parameters
Required parameters:
Выходные параметры
Sample query:
https://boomstream.com/api/media/bulkinfo?apikey=[API_KEY]&code[]=[MEDIA_CODE_1]&code[]=[MEDIA_CODE_2]&code[]=[MEDIA_CODE_N]
Sample response:
<Response> <Items> <Item> <Code>xxxxxxxx</Code> <Title>test - 2024-03-13 16:45:09</Title> <Type>video</Type> <Width>1280</Width> <Height>720</Height> <FileSize>1000000</FileSize> <FileName>test.mp4</FileName> <MediaStatus>Done</MediaStatus> <Duration>6</Duration> <Description/> <CreatedAt>2024-03-13 16:45:09</CreatedAt> <PlayerLink>https://play.boomstream.com/xxxxxxxx</PlayerLink> <PlayerCode><iframe width="{{width}}" height="{{height}}" src="https://play.boomstream.com/xxxxxxxx" frameborder="0" scrolling="no" allowfullscreen=""></iframe></PlayerCode> <Poster> <Code>h7sZjLB9-a1</Code> <Width>1280</Width> <Height>720</Height> <Url>https://bs.boomstream.com/adaptive/xxxxxxxx.jpg</Url> </Poster> <Timeline> <PreviewsVtt>https://bs.boomstream.com/adaptive/xxxxxxxx/playlist.vtt</PreviewsVtt> </Timeline> </Item> </Items> <Status>Success</Status> </Response>
Get additionsl information about media by it's code.
Input parameters
Required parameters:
Output parameters
Sample query:
https://boomstream.com/api/media/info?apikey=[API_KEY]&code=[MEDIA_CODE]
Sample response:
<Response> <Title>demovideo.avi</Title> <Code>xxxxxx</Code> <Type>video</Type> <Width>1600</Width> <Height>900</Height> <FileSize>1000000</FileSize> <FileName>test.mp4</FileName> <MediaStatus>Done</MediaStatus> <Duration>61</Duration> <PlayerCode>&lt;iframe width=&quot;{{width}}&quot; height=&quot;{{height}}&quot; src=&quot;https://play.boomstream.com/xxxxxx&quot; frameborder=&quot;0&quot; scrolling=&quot;no&quot; allowfullscreen&gt;&lt;/iframe&gt; </PlayerCode> <DownloadLink> https://bs.boomstream.com/balancer/hash:abd6c666f029e065e4aedb44e5c5f176/xxxxxx.orig </DownloadLink> <Poster> <Code>xxxxxx-a1</Code> <Width>1600</Width> <Height>900</Height> <Url>https://bs.boomstream.com/balancer/xxxxxx-a1.jpg</Url> </Poster> <Transcodes> <Item> <Code>xxxxxx-xxxxxx</Code> <Title>1080p</Title> <Width>1600</Width> <Height>900</Height> <PseudoMP4>https://bs.boomstream.com/balancer/xxxxxx-xxxxxx.mp4</PseudoMP4> <AppleHLS>https://bs.boomstream.com/balancer/xxxxxx-xxxxxx/playlist.m3u8</AppleHLS> </Item> .... </Transcodes> <Adaptive/> <Screenshots> <Item> <Code>xxxxxx-a21</Code> <Width>1600</Width> <Height>900</Height> <Url>https://bs.boomstream.com/balancer/xxxxxx-a21.jpg</Url> </Item> .... </Screenshots> <Timeline> <Sprites> <Item> <Code>xxxxxxxx-s1</Code> <Width>800</Width> <Height>450</Height> <FrameCount>25</FrameCount> <Url>https://bs.boomstream.com/balancer/xxxxxxxx-s1.webp</Url> </Item> .... </Sprites> <FullSprite> <Code>xxxxxxxx-f</Code> <Width>1600</Width> <Height>630</Height> <FrameCount>61</FrameCount> <Url>https://bs.boomstream.com/balancer/xxxxxxxx-f.webp</Url> </FullSprite> <Previews> <Item> <Code>xxxxxxxx-t1</Code> <Width>160</Width> <Height>90</Height> <TimePosition>0.00</TimePosition> <SpriteURL>https://bs.boomstream.com/balancer/xxxxxxxx-s1.webp</SpriteURL> <SpriteURLxywh>https://bs.boomstream.com/balancer/xxxxxxxx-s1.webp#xywh=0,0,160,90</SpriteURLxywh> <SpritePosition>[0, 0, 160, 90]</SpritePosition> </Item> .... </Previews> <PreviewsVtt>https://bs.boomstream.com/adaptive/xxxxxxxx/playlist.vtt</PreviewsVtt> </Timeline> <Status>Success</Status> </Response>
Create new media file
Input parameters
Required parameters:
Sample query:
https://boomstream.com/api/media/create?apikey=[API_KEY]&link=http://example.com/video.mp4&title=temp
Sample response:
<Response> <Code>dNO6bnZE</Code> <Status>Success</Status> </Response>
Upload new media file through an HTML form
1. Need to get data for upload form. To do this, run the following query:
Input parameters
Required parameters:
Sample query:
https://boomstream.com/api/media/upload?apikey=[API_KEY]&title=temp
Sample response:
<Response> <UploadUrl> https://node.org/upload/hash:8d7cd/f1a05782f77aca5cc78647178110ac8a </UploadUrl> <ProgressBarUrl> https://boomstream.com/api/media/progressbar </ProgressBarUrl> <Status> Success </Status> </Response>
2. Create a page of upload, for example "upload.php". Add tag “iframe” to the body and insert parameter “UploadUrl”.
Sample code:
<body> <iframe src="https://localhost/iframe.php?link=<UploadUrl>"> </body>
3. Create a page for the “Browse” button, which will be displayed in the frame - iframe.php.
Sample page code:
<script type="text/javascript"> function submitForm() { parent.runUpload(); $('#form1').submit(); } </script> <form action="<UploadUrl>" method="POST" enctype="multipart/form-data" id="form1"> <input type="file" name="file" onchange="submitForm()"> </form>
4. You must create the proxy script to get upload status - progressbar.php.
Sample page code:
<?php $progressBarUrl = (isset($_GET['progressBarUrl'])) ? $_GET['progressBarUrl'] : ''; echo @file_get_contents($progressBarUrl . '&format=json'); ?>
5. Add code javascript on the page "upload.php". It will send every second requests to progressbar.php.
Sample page code:
<script type="text/javascript"> var refreshIntervalId; var refresh = 1000; function runUpload() { $('#form1').submit(); refreshIntervalId = setTimeout('getPercent()', refresh); } function getPercent(){ $.get('https://localhost/progressbar.php', {progressBarUrl:"<progressBarUrl>"}, function(data){ if(data.Action=='done') { console.log("DONE"); } else { refreshIntervalId = setTimeout('getPercent()', refresh); } },'json'); } </script>
Required parameters:
Sample response:
<Response> <Percent>10</Percent> <Action>work</Action> ... </Response>
When the percent reaches 100%, you will get the following response:
Sample response:
<Response> <Action>done</Action> <Code>dsadas13</Code> ... </Response>
This response suggests, that media file was successfully uploaded.
Update parameters of media or reupload the original
Input parameters
Required parameters:
Optional parameters:
Sample query:
https://boomstream.com/api/media/update?apikey=[API_KEY]&code=[MEDIA_CODE]&link=http://example.com/video.mp4&title=test2
Sample response:
<Response> <Status>Success</Status> </Response>
Delete media file
Input parameters
Required parameters:
Sample query:
https://boomstream.com/api/media/delete?apikey=[API_KEY]&code=[MEDIA_CODE]
Sample response:
<Response> <Status>Success</Status> </Response>