Ejemplo n.º 1
0
 public function view($page = 'overview')
 {
     if (!file_exists(APPPATH . '/views/pages/' . $page . '.php')) {
         show_404();
     }
     $data['title'] = ucfirst($page);
     $data['api_key'] = $this->session->api_key;
     $data['api_url'] = Bitcodin::getBaseUrl();
     if (!isset($this->session->page_limit) or !is_numeric($this->session->page_limit)) {
         $this->session->page_limit = 10;
     }
     $data['page_limit'] = $this->session->page_limit;
     $page_files = get_filenames(APPPATH . '/views/pages');
     $menu_items = array();
     foreach ($page_files as $file) {
         $name = basename($file, '.php');
         $menu_items[] = ucfirst($name);
     }
     $index = array_search('Home', $menu_items);
     $home = $menu_items[$index];
     unset($menu_items[$index]);
     array_unshift($menu_items, $home);
     if ($page == 'overview') {
         Bitcodin::setApiToken($this->session->api_key);
         try {
             $encodingProfiles = EncodingProfile::getListAll();
             if (count($encodingProfiles) <= 0) {
                 $encProf = new \stdClass();
                 $encProf->encodingProfileId = 0;
                 $encProf->name = "No encoding profile available";
                 $encodingProfiles = array("No encoding profiles found");
             }
             $outputs = Output::getListAll();
             if (count($outputs) <= 0) {
                 $output = new \stdClass();
                 $output->outputId = 0;
                 $output->name = "No output available";
                 $outputs = array($output);
             }
         } catch (BitcodinException $ex) {
             $output = new \stdClass();
             $output->outputId = 0;
             $output->name = "No output available";
             $outputs = array($output);
             $encProf = new \stdClass();
             $encProf->encodingProfileId = 0;
             $encProf->name = "No encoding profile available";
             $encodingProfiles = array($encProf);
         }
         $data['encodingProfiles'] = $encodingProfiles;
         $data['outputs'] = $outputs;
     }
     $data['menu_items'] = $menu_items;
     $this->load->view('templates/header', $data);
     $this->load->view('pages/' . $page, $data);
     $this->load->view('templates/footer', $data);
 }
 public function setUp()
 {
     parent::setUp();
     $baseUrl = $this->getApiBaseUrl();
     $apiKey = $this->getApiKey();
     if (!is_null($baseUrl)) {
         Bitcodin::setBaseUrl($baseUrl);
     }
     if (!is_null($apiKey)) {
         Bitcodin::setApiToken($this->getApiKey());
     }
 }
Ejemplo n.º 3
0
 public function update_tab($status, $page = 0, $selectedId = -1)
 {
     Bitcodin::setApiToken($this->session->api_key);
     try {
         $page_limit = $this->session->page_limit;
         if ($status == 'RUNNING') {
             $liveInstances = LiveStream::getAll(array('RUNNING', 'STARTING', 'STOPPING'));
         } else {
             $liveInstances = LiveStream::getAll($status, $page_limit, $page_limit * $page);
         }
         if (!isset($liveInstances) or $liveInstances === NULL) {
             $liveInstances = array();
         }
         $count = LiveStream::getCount();
         $data['count'] = $count;
         $data['liveInstances'] = $liveInstances;
         $data['status'] = $status;
         $num_pages = 0;
         if ($status == 'RUNNING') {
             $num_pages = ceil($count->running / $page_limit);
         } elseif ($status == 'TERMINATED') {
             $num_pages = ceil($count->terminated / $page_limit);
         } elseif ($status == 'ERROR') {
             $num_pages = ceil($count->error / $page_limit);
         }
         $data['num_pages'] = $num_pages;
         $data['active_page'] = $page;
         $data['selected_id'] = $selectedId;
         echo $this->load->view('templates/livestreams', $data, TRUE);
         if ($selectedId != -1) {
             foreach ($liveInstances as $liveInstance) {
                 if ($liveInstance->id == $selectedId) {
                     $data['selected_instance'] = $liveInstance;
                 }
             }
             echo $this->load->view('templates/details.php', $data, TRUE);
         }
     } catch (\Exception $ex) {
         echo "<div class='top-buffer'></div><div class='alert alert-danger' role='alert'>" . $ex->getMessage() . "</div>";
     }
 }
use bitcodin\Input;
use bitcodin\HttpInputConfig;
use bitcodin\EncodingProfile;
use bitcodin\EncodingProfileConfig;
use bitcodin\ManifestTypes;
require_once __DIR__ . '/../vendor/autoload.php';
function getHeight($width, $aspectRatio)
{
    $height = intval(round($width / $aspectRatio, 0));
    if ($height % 2 != 0) {
        $height++;
    }
    return $height;
}
/* CONFIGURATION */
Bitcodin::setApiToken('Insert Your Api Key here');
// Your can find your api key in the settings menu. Your account (right corner) -> Settings -> API
$inputConfig = new HttpInputConfig();
$inputConfig->url = 'http://eu-storage.bitcodin.com/inputs/Sintel.2010.720p.mkv';
$input = Input::create($inputConfig);
$inputVideoMediaConfiguration = NULL;
foreach ($input->getVideoMediaConfigurations() as $inputMediaConfiguration) {
    if ($inputMediaConfiguration->type === 'video') {
        $inputVideoMediaConfiguration = $inputMediaConfiguration;
        break;
    }
}
if (is_null($inputVideoMediaConfiguration)) {
    throw new \Exception("No video media configuration found!");
}
$inputWidth = $inputVideoMediaConfiguration->displayAspectRatioNum;
            <form class="ui large form" name="createQuality" action="AddQualityFromBitcodin.php">
                <div class="ui labeled input" style="padding-bottom: 2px;width: 100%">
                    <a class="ui label" style="width: 135px">Api Key</a>
                    <input type="text" name="apiKey" required="true" placeholder="API Key" <?php 
if (isset($_GET['apiKey'])) {
    echo "value='" . $_GET['apiKey'] . "'";
}
?>
 >
                </div>
                <button class="ui button" style="width: 100%">Set API Key</button>

            </form>
            <?php 
if (isset($_GET['apiKey'])) {
    Bitcodin::setApiToken($_GET['apiKey']);
    $jobs = Job::getList();
    ?>
                <table id='data' class="ui right aligned celled table">
                    <thead>
                        <tr>
                            <th>Thumbnail</th>
                            <th>Encoding ID</th>
                            <th>Input ID</th>
                            <th>Calculate Quality</th>
                        </tr>
                    </thead>
                    <tbody>
                    <?php 
    foreach ($jobs->jobs as $job) {
        if ($job->status == "Finished") {
Ejemplo n.º 6
0
require_once __DIR__ . '/../vendor/autoload.php';
use bitcodin\AudioStreamConfig;
use bitcodin\AzureBlobStorageInputConfig;
use bitcodin\AzureOutputConfig;
use bitcodin\Bitcodin;
use bitcodin\EncodingProfile;
use bitcodin\EncodingProfileConfig;
use bitcodin\Input;
use bitcodin\Job;
use bitcodin\JobConfig;
use bitcodin\JobSpeedTypes;
use bitcodin\ManifestTypes;
use bitcodin\Output;
use bitcodin\VideoStreamConfig;
/* CONFIGURATION */
Bitcodin::setApiToken('insertYourApiToken');
// Your can find your api key in the settings menu. Your account (right corner) -> Settings -> API
$azureBlobStorageAccountKey = 'yourAccountKey';
$azureBlobStorageAccountName = 'yourAccountname';
$azureBlobStorageContainer = 'usedContainer';
$inputConfig = new AzureBlobStorageInputConfig();
$inputConfig->accountName = $azureBlobStorageAccountName;
$inputConfig->accountKey = $azureBlobStorageAccountKey;
$inputConfig->container = $azureBlobStorageContainer;
$inputConfig->url = 'http://yourAccountname.blob.core.windows.net/usedContainer/video.mkv';
$input = Input::create($inputConfig);
$encodingProfileConfig = new EncodingProfileConfig();
$encodingProfileConfig->name = 'MyApiTestEncodingProfile';
/* CREATE VIDEO STREAM CONFIGS */
$videoStreamConfig1 = new VideoStreamConfig();
$videoStreamConfig1->bitrate = 4800000;
Ejemplo n.º 7
0
 public function testErrorPatchRequest()
 {
     Bitcodin::setApiToken($this->getApiKey());
     //$this->setExpectedException('\bitcodin\exceptions\BitcodinResourceNotFoundException');
     ConcreteApiResource::patchRequest('/lkajljow/', NULL, 404);
 }
Ejemplo n.º 8
0
// Ask for Api key, Not reqired. If Api key is not set, no usable Outputs wil be printed
if (isset($_SESSION['post_data'])) {
    echo "Already logged in </br>";
    $_POST['apiKey'] = $_SESSION['post_data']['apiKey'];
}
if (!isset($_POST['apiKey'])) {
    echo "Create new Quality:<br />";
    echo "<form action='createQuality.php' method='post'>\n\t <p>Bitmovin Api Key <input type='text' value='' name='apiKey' /></p>\n\t <p><input type='submit' /></p>\n\t</form>";
} else {
    if (isset($_POST['newId'])) {
        echo "Job created with ID: " . $_POST['newId'];
    } else {
        echo "<script type='text/javascript'>\n\n        function handleTableClick(evt) {\n            var node = evt.target || evt.srcElement;\n            if (node.name == 'setUrls') {\n               location.replace(location.href + '?orig=document.getElementById(\\'newOrigUrl\\').value');\n               window.location.reload(true);\n            }\n        }\n\n    </script>";
        $_SESSION['post_data'] = $_POST;
        $apiKey = $_POST['apiKey'];
        Bitcodin::setApiToken($apiKey);
        $jobs = Job::getList();
        echo "<table border='1' id='showJobs' >\n\t\t\t<thead>\n\t\t\t\t<tr>\n\t\t\t\t\tEncoding ID\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\tInput ID\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n                    Calculate Quality\n                </tr>\n\t\t\t</thead>\n\t\t\t<tbody>";
        foreach ($jobs->jobs as $job) {
            if ($job->status == "Finished") {
                echo "<tr><td>" . $job->jobId . "</td><td>" . $job->input->inputId . "</td>\n\t\t\t<td><form name='f1' method='get'>\n\t\t\t        <input name='orig' type='hidden' id='newOrigUrl' value=" . $job->input->url . ">\n\t\t\t        <input name='mpd' type='hidden' id='newMpdUrl' value=" . json_decode(json_encode($job->manifestUrls), true)['mpdUrl'] . ">\n\t\t\t        <button name='setUrls'  >Get Urls</form>\n               </form>\n               </td>";
            }
        }
        echo "</tbody></table>";
        if (!isset($_POST['urlOriginal']) || !isset($_POST['urlMpd'])) {
            if (isset($_GET['orig'])) {
                $orig = $_GET['orig'];
            } else {
                $orig = "";
            }
            if (isset($_GET['mpd'])) {
Ejemplo n.º 9
0
use bitcodin\Bitcodin;
use bitcodin\VideoStreamConfig;
use bitcodin\AudioStreamConfig;
use bitcodin\Job;
use bitcodin\JobConfig;
use bitcodin\Input;
use bitcodin\HttpInputConfig;
use bitcodin\EncodingProfile;
use bitcodin\EncodingProfileConfig;
use bitcodin\ManifestTypes;
use bitcodin\TransmuxConfig;
use bitcodin\Transmuxing;
require_once __DIR__ . '/../vendor/autoload.php';
/* CONFIGURATION */
Bitcodin::setApiToken('INSERT YOUR API KEY HERE');
// Your can find your api key in the settings menu. Your account (right corner) -> Settings -> API
$inputConfig = new HttpInputConfig();
$inputConfig->url = 'http://eu-storage.bitcodin.com/inputs/Sintel.2010.720p.mkv';
$input = Input::create($inputConfig);
$encodingProfileConfig = new EncodingProfileConfig();
$encodingProfileConfig->name = 'ApiExampleProfile';
/* CREATE VIDEO STREAM CONFIGS */
$videoStreamConfig1 = new VideoStreamConfig();
$videoStreamConfig1->bitrate = 4800000;
$videoStreamConfig1->height = 1080;
$videoStreamConfig1->width = 1920;
$encodingProfileConfig->videoStreamConfigs[] = $videoStreamConfig1;
$videoStreamConfig2 = new VideoStreamConfig();
$videoStreamConfig2->bitrate = 2400000;
$videoStreamConfig2->height = 720;
Ejemplo n.º 10
0
use bitcodin\AudioStreamConfig;
use bitcodin\Job;
use bitcodin\JobConfig;
use bitcodin\Input;
use bitcodin\HttpInputConfig;
use bitcodin\EncodingProfile;
use bitcodin\EncodingProfileConfig;
use bitcodin\ManifestTypes;
use bitcodin\VttMpdConfig;
use bitcodin\VttMpd;
use bitcodin\VttSubtitle;
use bitcodin\Output;
use bitcodin\FtpOutputConfig;
require_once __DIR__ . '/../vendor/autoload.php';
///* CONFIGURATION */
Bitcodin::setApiToken('YOUR API KEY');
// Your can find your api key in the settings menu. Your account (right corner) -> Settings -> API
$inputConfig = new HttpInputConfig();
$inputConfig->url = 'http://eu-storage.bitcodin.com/inputs/Sintel.2010.720p.mkv';
$input = Input::create($inputConfig);
$encodingProfileConfig = new EncodingProfileConfig();
$encodingProfileConfig->name = 'MyApiTestEncodingProfile';
/* CREATE VIDEO STREAM CONFIGS */
$videoStreamConfig1 = new VideoStreamConfig();
$videoStreamConfig1->bitrate = 4800000;
$videoStreamConfig1->height = 1080;
$videoStreamConfig1->width = 1920;
$encodingProfileConfig->videoStreamConfigs[] = $videoStreamConfig1;
$videoStreamConfig2 = new VideoStreamConfig();
$videoStreamConfig2->bitrate = 2400000;
$videoStreamConfig2->height = 720;
Ejemplo n.º 11
0
 public function __construct()
 {
     parent::__construct();
     Bitcodin::setApiToken($this->getApiKey());
 }
Ejemplo n.º 12
0
 public function setUp()
 {
     parent::setUp();
     Bitcodin::enableHttps();
 }
Ejemplo n.º 13
0
<?php

require_once __DIR__ . '/../vendor/autoload.php';
use bitcodin\Bitcodin;
/* CONFIGURATION */
Bitcodin::setApiToken('insertYourApiKey');
// Your can find your api key in the settings menu. Your account (right corner) -> Settings -> API
Bitcodin::enableHttps();
// Use the API as always
Ejemplo n.º 14
0
 /**
  * @param $url
  * @param $expectedStatusCode
  * @return \GuzzleHttp\Message\FutureResponse|\GuzzleHttp\Message\ResponseInterface|\GuzzleHttp\Ring\Future\FutureInterface|null
  * @throws BitcodinException
  */
 protected static function _deleteRequest($url, $expectedStatusCode)
 {
     $httpClient = self::getClient();
     try {
         $res = $httpClient->delete(Bitcodin::getBaseUrl() . $url, ['headers' => self::getHeaders()]);
     } catch (BadResponseException $ex) {
         $res = $ex->getResponse();
     }
     self::_checkExpectedStatus($res, $expectedStatusCode);
     return $res;
 }
use bitcodin\JobSpeedTypes;
use bitcodin\VideoStreamConfig;
use bitcodin\AudioStreamConfig;
use bitcodin\Job;
use bitcodin\JobConfig;
use bitcodin\Input;
use bitcodin\HttpInputConfig;
use bitcodin\EncodingProfile;
use bitcodin\EncodingProfileConfig;
use bitcodin\ManifestTypes;
use bitcodin\Output;
use bitcodin\FtpOutputConfig;
use bitcodin\WatermarkConfig;
require_once __DIR__ . '/../vendor/autoload.php';
/* CONFIGURATION */
Bitcodin::setApiToken('insertApiKey');
// Your can find your api key in the settings menu. Your account (right corner) -> Settings -> API
$inputConfig = new HttpInputConfig();
$inputConfig->url = 'http://eu-storage.bitcodin.com/inputs/Sintel.2010.720p.mkv';
$input = Input::create($inputConfig);
$encodingProfileConfig = new EncodingProfileConfig();
$encodingProfileConfig->name = 'MyApiTestEncodingProfile';
/* CREATE VIDEO STREAM CONFIGS */
$videoStreamConfig1 = new VideoStreamConfig();
$videoStreamConfig1->bitrate = 4800000;
$videoStreamConfig1->height = 1080;
$videoStreamConfig1->width = 1920;
$encodingProfileConfig->videoStreamConfigs[] = $videoStreamConfig1;
$videoStreamConfig2 = new VideoStreamConfig();
$videoStreamConfig2->bitrate = 2400000;
$videoStreamConfig2->height = 720;