Методы: bulkinfo | info | create | upload | update | delete
Получение информации о медиа-файле по его коду для одного или нескольких медиа.
Входные параметры
Обязательные параметры:
Выходные параметры
Пример запроса:
https://boomstream.com/api/media/bulkinfo?apikey=[API_KEY]&code[]=[MEDIA_CODE_1]&code[]=[MEDIA_CODE_2]&code[]=[MEDIA_CODE_N]
Пример ответа:
<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>10000000</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>
Получение дополнительной информации о медиа-файле по его коду.
Входные параметры
Обязательные параметры:
Выходные параметры
Пример запроса:
https://boomstream.com/api/media/info?apikey=[API_KEY]&code=[MEDIA_CODE]
Пример ответа:
<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>o9xO8V9w-fe2qWIAm</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> <AppleHLS>https://cdnv.boomstream.com/adaptive/ххххххх/playlist.m3u8</AppleHLS> </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>
Добавление нового медиа-файла
Входные параметры
Обязательные параметры:
Необязательные параметры:
Пример запроса:
https://boomstream.com/api/media/create?apikey=[API_KEY]&link=https://example.com/video.mp4&title=temp
Пример ответа:
<Response> <Code>dNO6bnZE</Code> <Status>Success</Status> </Response>
Загрузка нового медиа-файла через HTML форму
1. Необходимо получить данные для формы загрузки. Для этого нужно выполнить следующий запрос:
Входные параметры
Обязательные параметры:
Необязательные параметры:
Пример запроса:
https://boomstream.com/api/media/upload?apikey=[API_KEY]&title=temp
Пример ответа:
<Response> <UploadUrl> https://node.org/upload/hash:8d7cd/f1a05782f77aca5cc78647178110ac8a </UploadUrl> <ProgressBarUrl> https://boomstream.com/api/media/progressbar?[params] </ProgressBarUrl> <Status> Success </Status> </Response>
2. Создайте страницу загрузки видео, например "upload.php". В body добавьте тег iframe и передайте параметр UploadUrl.
Пример кода:
<body> <iframe src="https://localhost/iframe.php?link=<UploadUrl>"> </body>
3. Создайте страницу для кнопки "Обзор", которая будет отображаться во фрейме - iframe.php.
Пример кода страницы:
<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. Необходимо создать proxy скрипт для получения статуса загрузки - progressbar.php.
Пример кода страницы:
<?php $progressBarUrl = (isset($_GET['progressBarUrl'])) ? $_GET['progressBarUrl'] : ''; echo @file_get_contents($progressBarUrl . '&format=json'); ?>
5. На странице "upload.php" добавьте код javascript. Он будет делать раз в секунду запросы на progressbar.php.
Пример кода страницы:
<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>
Обязательные параметры:
Пример ответа:
<Response> <Percent>10</Percent> <Action>work</Action> ... </Response>
Когда процент дойдет до 100%, то ответ будет следующим:
Пример ответа:
<Response> <Action>done</Action> <Code>dsadas13</Code> ... </Response>
Этот ответ говорит о том, что медиа файл успешно загружен.
Обновление параметров медиа, либо перезакачка оригинального файла
Входные параметры
Обязательные параметры:
Необязательные параметры:
Пример запроса:
https://boomstream.com/api/media/update?apikey=[API_KEY]&code=[MEDIA_CODE]&link=http://example.com/video.mp4&title=test2
Пример ответа:
<Response> <Status>Success</Status> </Response>
Удаление медиа-файла
Входные параметры
Обязательные параметры:
Пример запроса:
https://boomstream.com/api/media/delete?apikey=[API_KEY]&code=[MEDIA_CODE]
Пример ответа:
<Response> <Status>Success</Status> </Response>