示例#1
0
<?php

include 'config.php';
logincheck();
$message = [];
$title = "Create stream";
$stream = new Stream();
$categories = Category::all();
$transcodes = Transcode::all();
if (isset($_GET['id'])) {
    $title = "Edit stream";
    $stream = Stream::where('id', '=', $_GET['id'])->first();
}
if (isset($_POST['submit'])) {
    $stream->name = $_POST['name'];
    $stream->streamurl = $_POST['streamurl'];
    $stream->cat_id = $_POST['category'];
    $stream->trans_id = $_POST['transcode'];
    $stream->streamurl2 = $_POST['streamurl2'];
    $stream->streamurl3 = $_POST['streamurl3'];
    $stream->tvgid = $_POST['tvgid'];
    $stream->tvglogo = $_POST['tvglogo'];
    $stream->groupname = $_POST['groupname'];
    $stream->restream = 0;
    if (isset($_POST['restream'])) {
        $stream->restream = 1;
    }
    $stream->bitstreamfilter = 0;
    if (isset($_POST['bitstreamfilter'])) {
        $stream->bitstreamfilter = 1;
    }
示例#2
0
         $table->integer('audio_sampling_rate');
         $table->integer('crf');
         $table->integer('threads');
         $table->tinyInteger('deinterlance');
         $table->timestamps();
     });
     echo "created transcodes table <br>" . PHP_EOL;
     $profile1 = new Transcode();
     $profile1->name = 'Default 1: Video Copy, Audio Copy';
     $profile1->probesize = 15000000;
     $profile1->analyzeduration = 12000000;
     $profile1->video_codec = 'copy';
     $profile1->audio_codec = 'copy';
     $profile1->save();
     echo "created transcode profile1 data <br>" . PHP_EOL;
     $profile2 = new Transcode();
     $profile2->name = 'Default 2: Video Copy, Audio AAC';
     $profile2->probesize = 15000000;
     $profile2->analyzeduration = 12000000;
     $profile2->video_codec = 'copy';
     $profile2->audio_codec = 'libvo_aacenc';
     $profile2->save();
     echo "created transcode profile2 data <br>" . PHP_EOL;
 }
 if (!in_array('activity', $arraynamesexist)) {
     $db->schema()->create('activity', function ($table) {
         $table->increments('id');
         $table->integer('user_id');
         $table->integer('stream_id');
         $table->text('user_agent');
         $table->string('user_ip');
示例#3
0
function getTranscodedata($id)
{
    $trans = Transcode::find($id);
    $setting = Setting::first();
    $ffmpeg = "ffmpeg";
    $ffmpeg .= ' -y';
    $ffmpeg .= ' -probesize ' . ($trans->probesize ? $trans->probesize : '15000000');
    $ffmpeg .= ' -analyzeduration ' . ($trans->analyzeduration ? $trans->analyzeduration : '12000000');
    $ffmpeg .= ' -i ' . '"' . "[input]" . '"';
    $ffmpeg .= ' -user_agent "' . ($setting->user_agent ? $setting->user_agent : 'FOS-Streaming') . '"';
    $ffmpeg .= ' -strict -2 -dn ';
    $ffmpeg .= $trans->scale ? ' -vf scale=' . ($trans->scale ? $trans->scale : '') : '';
    $ffmpeg .= $trans->audio_codec ? ' -acodec ' . $trans->audio_codec : '';
    '';
    $ffmpeg .= $trans->video_codec ? ' -vcodec ' . $trans->video_codec : '';
    $ffmpeg .= $trans->profile ? ' -profile:v ' . $trans->profile : '';
    $ffmpeg .= $trans->preset ? ' -preset ' . $trans->preset_values : '';
    $ffmpeg .= $trans->video_bitrate ? ' -b:v ' . $trans->video_bitrate . 'k' : '';
    $ffmpeg .= $trans->audio_bitrate ? ' -b:a ' . $trans->audio_bitrate . 'k' : '';
    $ffmpeg .= $trans->fps ? ' -r ' . $trans->fps : '';
    $ffmpeg .= $trans->minrate ? ' -minrate ' . $trans->minrate . 'k' : '';
    $ffmpeg .= $trans->maxrate ? ' -maxrate ' . $trans->maxrate . 'k' : '';
    $ffmpeg .= $trans->bufsize ? ' -bufsize ' . $trans->bufsize . 'k' : '';
    $ffmpeg .= $trans->aspect_ratio ? ' -aspect ' . $trans->aspect_ratio : '';
    $ffmpeg .= $trans->audio_sampling_rate ? ' -ar ' . $trans->audio_sampling_rate : '';
    $ffmpeg .= $trans->crf ? ' -crf ' . $trans->crf : '';
    $ffmpeg .= $trans->audio_channel ? ' -ac ' . $trans->audio_channel : '';
    $ffmpeg .= $trans->threads ? ' -threads ' . $trans->threads : '';
    $ffmpeg .= $trans->deinterlance ? ' -vf yadif' : '';
    return $ffmpeg;
}
    $trans->bufsize = $_POST['bufsize'];
    $trans->audio_sampling_rate = $_POST['audio_sampling_rate'];
    $trans->crf = $_POST['crf'];
    $trans->threads = $_POST['threads'];
    $trans->deinterlance = 0;
    if (isset($_POST['deinterlance'])) {
        $trans->deinterlance = 1;
    }
    if (empty($_POST['profilename'])) {
        $message['type'] = "error";
        $message['message'] = "Profilename field is empty";
    } else {
        if (isset($_GET['id'])) {
            $message['type'] = "success";
            $message['message'] = "Transcode profile saved";
            $trans->save();
        } else {
            $exists = Transcode::where('name', '=', $_POST['profilename'])->get();
            if (count($exists) > 0) {
                $message['type'] = "error";
                $message['message'] = "Transcode profile name already in use";
            } else {
                $message['type'] = "success";
                $message['message'] = "Transcode created";
                $trans->save();
                redirect("manage_transcode.php?id=" . $trans->id, 1000);
            }
        }
    }
}
echo $template->view()->make('manage_transcode')->with('transcode', $trans)->with('categories', $categories)->with('message', $message)->with('title', $title)->render();