Просмотр исходного кода

#3331 Videos: ffmpeg is called upon opening view video page

Alex Trofimov 5 лет назад
Родитель
Сommit
bcd813e519

+ 4 - 2
inc/classes/BxDolTranscoder.php

@@ -885,13 +885,15 @@ class BxDolTranscoder extends BxDolFactory implements iBxDolFactoryObject
         return false;
     }
 
-    public function getMaxResizeDimention ()
+    public function getMaxResizeDimention ($sFilter = 'Resize', $sKey = '')
     {
-        $a = $this->_oDb->getTranscoderFilters('Resize');
+        $a = $this->_oDb->getTranscoderFilters($sFilter);
         if (!$a)
             return 0;
         $aFilter = array_pop($a);
         $aFilterParams = $aFilter['filter_params'] ? unserialize($aFilter['filter_params']) : array();
+        if ($sKey)
+            return isset($aFilterParams[$sKey]) ? $aFilterParams[$sKey] : 0;
         return $aFilterParams ? max(isset($aFilterParams['w']) ? $aFilterParams['w'] : 0, isset($aFilterParams['h']) ? $aFilterParams['h'] : 0) : 0;
     }
 

+ 6 - 0
inc/classes/BxDolTranscoderVideo.php

@@ -232,6 +232,12 @@ class BxDolTranscoderVideo extends BxDolTranscoder implements iBxDolFactoryObjec
         return true;
     }
 
+    public function isProcessHD ($sOrigVideoDim)
+    {
+        $iHeight = $this->getMaxResizeDimention('Mp4', 'h');
+        return ($aDim = explode('x', $sOrigVideoDim)) && isset($aDim[1]) && (int)$aDim[1] >= $iHeight ? true : false;
+    }
+
     /**
      * Get video size. 
      * It generated image from the video and returns size of the image.

+ 1 - 1
modules/boonex/videos/classes/BxVideosModule.php

@@ -125,7 +125,7 @@ class BxVideosModule extends BxBaseModTextModule
         $aVideoFile = $oStorage->getFile($iFile);
 
         $sVideoUrlHd = '';
-        if (!empty($aVideoFile['dimensions']) && ($aDim = explode('x', $aVideoFile['dimensions'])) && isset($aDim[1]) && (int)$aDim[1] >= 720)
+        if (!empty($aVideoFile['dimensions']) && $oTcvMp4Hd->isProcessHD($aVideoFile['dimensions']))
             $sVideoUrlHd = $oTcvMp4Hd->getFileUrl($iFile);
 
         return array(

+ 1 - 1
modules/boonex/videos/classes/BxVideosTemplate.php

@@ -104,7 +104,7 @@ class BxVideosTemplate extends BxBaseModTextTemplate
         $aVideoFile = $oStorage->getFile($iFile);
 
         $sVideoUrlHd = '';
-        if (!empty($aVideoFile['dimensions']) && ($aDim = explode('x', $aVideoFile['dimensions'])) && isset($aDim[1]) && (int)$aDim[1] >= 720)
+        if (!empty($aVideoFile['dimensions']) && $aTranscodersVideo['mp4_hd']->isProcessHD($aVideoFile['dimensions']))
             $sVideoUrlHd = $aTranscodersVideo['mp4_hd']->getFileUrl($iFile);
 
         return array(