protected function generateVideoParams(KDLFlavor $design, KDLFlavor $target) { $cmdStr = parent::generateVideoParams($design, $target); if (!isset($target->_video)) { return $cmdStr; } $vid = $target->_video; $cmdValsArr = explode(' ', $cmdStr); /* * Update params to match 'new' ffmpeg syntax */ if (in_array('-b', $cmdValsArr)) { $key = array_search('-b', $cmdValsArr); $cmdValsArr[$key] = '-b:v'; } if (in_array('-vcodec', $cmdValsArr)) { $key = array_search('-vcodec', $cmdValsArr); $cmdValsArr[$key] = '-c:v'; } if (isset($vid->_rotation) && $vid->_rotation != 0) { if ($vid->_rotation == 270 || $vid->_rotation == -90 || $vid->_rotation == 90) { if (in_array('-s', $cmdValsArr)) { $key = array_search('-s', $cmdValsArr); if ($vid->_width != null && $vid->_height != null) { $cmdValsArr[$key + 1] = $vid->_height . 'x' . $vid->_width; } } } $cmdValsArr[] = '-metadata:s:v rotate="0"'; } /* * Disabling of GOP in order to avoid duplicate KF's running through the whole file * TEMPORARY - it will be done only for WV */ if (isset($vid->_forWideVine) && ($vid->_forWideVine = true && in_array('-force_key_frames', $cmdValsArr) && in_array('-g', $cmdValsArr))) { $key = array_search('-g', $cmdValsArr); $cmdValsArr[$key + 1] = 3600 * 24; // set GOP to 24 hrs } $cmdStr = implode(" ", $cmdValsArr); return $cmdStr; }
public function FFMpeg($extra = null) { $transcoder = new KDLOperatorFfmpeg0_10(KDLTranscoders::FFMPEG); return $transcoder->GenerateCommandLine($this->_design, $this->_target, $extra); }