Объект Media

Методы: info create upload update delete

info

Получение информации о медиа-файле по его коду.

Входные параметры

Обязательные параметры:

  • String apikey (API ключ проекта)
  • String code (Код медиа)

Выходные параметры

  • String Title (Название медиа)
  • Integer Width (Ширина видео)
  • Integer Height (Высота видео)
  • Integer Duration (Продолжительность видео в секундах)
  • String PlayerCode (HTML код плеера)
  • String Poster - Code (Код скриншота)
  • Integer Poster - Width (Ширина постера)
  • Integer Poster - Height (Высота постера)
  • String Poster - Url (Ссылка на постер)
  • String Transcodes - Item - Code (Код транскода)
  • String Transcodes - Item - Title (Название транскода)
  • Integer Transcodes - Item - Width (Ширина видео)
  • Integer Transcodes - Item - Height (Высота видео)
  • String Transcodes - Item - PseudoFLV (Ссылка на PseudoFLV)
  • String Transcodes - Item - PseudoMP4 (Ссылка на PseudoMP4)
  • String Transcodes - Item - AdobeHDS (Ссылка на AdobeHDS)
  • String Transcodes - Item - AppleHLS (Ссылка на AppleHLS)
  • String Transcodes - Item - MicrosoftSmooth (Ссылка на MicrosoftSmooth)
  • String Adaptive - AppleHLS (Ссылка на адаптивный AppleHLS)
  • String Screenshots - Item - Code (Код скриншота)
  • Integer Screenshots - Item - Width (Ширина скриншота)
  • Integer Screenshots - Item - Height (Высота скриншота)
  • String Screenshots - Item - Url (Ссылка на скриншот)

Пример запроса:

https://boomstream.com/api/media/info?apikey=[API_KEY]&code=xxxxxxxx

Пример ответа:

<Response>
    <Title>Promo</Title>
    <Width>1600</Width>
    <Height>900</Height>
    <Duration>61</Duration>
    <PlayerCode>&lt;iframe width=&quot;{{width}}&quot; height=&quot;{{height}}&quot;
src=&quot;http://boomstream.com/player.html?code=xxxxxxxx&quot; frameborder=&quot;0&quot;
scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;</PlayerCode>
    <Poster>
        <Code>xxxxxxxx-m3</Code>
        <Width>1920</Width>
        <Height>1080</Height>
        <Url>http://bs.boomstream.com/balancer/xxxxxxxx-m3.jpg</Url>
    </Poster>
    <Transcodes>
        <Item>
            <Code>xxxxxxxx-u0cu3fcd</Code>
            <Title>360p</Title>
            <Width>640</Width>
            <Height>360</Height>
            <PseudoFLV>http://bs.boomstream.com/balancer/xxxxxxxx-u0cu3fcd.flv</PseudoFLV>
            <PseudoMP4>http://bs.boomstream.com/balancer/xxxxxxxx-u0cu3fcd.mp4</PseudoMP4>
            <AdobeHDS>http://bs.boomstream.com/balancer/xxxxxxxx-u0cu3fcd/manifest.f4m</AdobeHDS>
            <AppleHLS>http://bs.boomstream.com/balancer/xxxxxxxx-u0cu3fcd/playlist.m3u8</AppleHLS>
            <MicrosoftSmooth>http://bs.boomstream.com/balancer/xxxxxxxx-u0cu3fcd/Manifest</MicrosoftSmooth>
        </Item>
    </Transcodes>
    <Adaptive>
        <AppleHLS>http://bs.boomstream.com/adaptive/xxxxxxxx/playlist.m3u8</AppleHLS>
    </Adaptive>
    <Screenshots>
        <Item>
            <Code>xxxxxxxx-m3</Code>
            <Width>1920</Width>
            <Height>1080</Height>
            <Url>http://bs.boomstream.com/balancer/xxxxxxxx-m3.jpg</Url>
        </Item>
    </Screenshots>
        <Item>
            <Code>xxxxxxxx-a1</Code>
            <Width>1600</Width>
            <Height>900</Height>
            <Url>http://bs.boomstream.com/balancer/xxxxxxxx-a1.jpg</Url>
        </Item>
    <Status>Success</Status>
</Response>

create

Добавление нового медиа-файла

Входные параметры

Обязательные параметры:

  • String apikey (API ключ проекта)
  • String title (Название медиа)
  • String link (Ссылка на источник)

Необязательные параметры:

  • String folderCode (Код папки)

Пример запроса:

https://boomstream.com/api/media/create?apikey=[API_KEY]&link=http://example.com/video.mp4&title=temp

Пример ответа:

<Response>
    <Code>dNO6bnZE</Code>
    <Status>Success</Status>
</Response>

upload

Загрузка нового медиа-файла через HTML форму

1. Необходимо получить данные для формы загрузки. Для этого нужно выполнить следующий запрос:

Входные параметры

Обязательные параметры:

  • String apikey (API ключ проекта)
  • String title (Название медиа)

Необязательные параметры:

  • String folderCode (Код папки)

Пример запроса:

https://boomstream.com/api/media/upload?apikey=[API_KEY]&title=temp

Пример ответа:

<Response>
  <UploadUrl>
    http://node.org/upload/hash:8d7cd/f1a05782f77aca5cc78647178110ac8a
  </UploadUrl>
  <ProgressBarUrl>
    http://boomstream.com/api/media/progressbar?[params]
  </ProgressBarUrl>
  <Status>
    Success
  </Status>
</Response>

2. Создайте страницу загрузки видео, например "upload.php". В body добавьте тег iframe и передайте параметр UploadUrl.

Пример кода:

  <body>
    <iframe src="http://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('http://localhost/progressbar.php', {progressBarUrl:"<progressBarUrl>"}, function(data){
          if(data.Action=='done') {
            console.log("DONE");
          } else {
             refreshIntervalId = setTimeout('getPercent()', refresh);
          }
        },'json');
      }
   </script>

Обязательные параметры:

  • String progressBarUrl (URL от первого запроса)

Пример ответа:

<Response>
  <Percent>10</Percent>
  <Action>work</Action>
  ...
</Response>

Когда процент дойдет до 100%, то ответ будет следующим: Пример ответа:

<Response>
  <Action>done</Action>
  <Code>dsadas13</Code>
  ... 
</Response>

Этот ответ говорит о том, что медиа файл успешно загружен.

update

Обновление параметров медиа, либо перезакачка оригинального файла

Входные параметры

Обязательные параметры:

  • String apikey (API ключ проекта)
  • String code (Код медиа)

Необязательные параметры:

  • String title (Название медиа)
  • String link (Ссылка на источник)
  • String folderCode (Код папки)

Пример запроса:

https://boomstream.com/api/media/update?apikey=[API_KEY]&code=123&link=http://example.com/video.mp4&title=test2

Пример ответа:

<Response>
    <Status>Success</Status>
</Response>

delete

Удаление медиа-файла

Входные параметры

Обязательные параметры:

  • String apikey (API ключ проекта)
  • String code (Код медиа)

Пример запроса:

https://boomstream.com/api/media/delete?apikey=[API_KEY]&code=123

Пример ответа:

<Response>
    <Status>Success</Status>
</Response>