<?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; }
$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');
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();