视频流分片后的ts片,H265压缩(二)实例

 》》视频流分片后的ts片,H265压缩这样做的原理

这样理由上一篇已经写了,这篇主要是将想法实践。

将视频分割成ts分片,对ts分片进行压缩。效果图如下:

视频流分片后的ts片,H265压缩(二)实例_第1张图片

html代码:





编辑课程
0%

$ffmpeg="D:/php/ffmpeg/bin/ffmpeg.exe ";
if($_REQUEST['act'] == 'cutdown'){
    $basedir="..";
    $myflie=isset($_REQUEST['myflie'])?$_REQUEST['myflie']:"";
    $mypath=isset($_REQUEST['mypath'])?$_REQUEST['mypath']:"";
    $ary=explode("/",$mypath);
    unset($ary[count($ary)-1]);
    $path=implode("/",$ary);
    $topath=$basedir.$path."-yasuo"."/";
    @mkdir($topath,0777,true);
    $from=$basedir.$mypath;
    $to=$topath.$myflie;
    //$from=$basedir.$mypath."yasuo-".$myflie;
    $cmd = $ffmpeg.'  -i  '.$from.$myflie.' -c:v libx264 -c:a aac -copyts -strict -2  -y '.$to ;
    system($cmd,$state);
    if($state==0){
        /*$cmd=$ffprobe.' -print_format json -show_format -i "%s" ';
        ob_start();
        $flie=$from;
        passthru(sprintf($cmd,$flie));
        $info = ob_get_contents();
        ob_end_clean();
        $infoary=json_decode($info,true);
        $duration=$infoary['format']['duration'];
        $myfilem3u8 = fopen($frompath."index.m3u8", "abw") or die("Unable to open file!");
        $txt="#EXTINF:".round($duration).",\n";
        fwrite($myfilem3u8, $txt);
        $txt = $myflie."\n";
        fwrite($myfilem3u8, $txt);
        fclose($myfilem3u8);*/
        @unlink($from.$myflie);
        /*@unlink($basedir.$mypath.$myflie);
        $cmd = $ffmpeg.'  -i  '.$from.' -'.$basedir.$mypath.$myflie ;
        system($cmd,$state);
        if($state==0){
            @unlink($basedir.$mypath.$myflie);
        }*/
        echo 1;//exit();
    }
    if(isset($_POST['lastone'])){
        $m3u8="index.m3u8";
        if(@copy($form.$m3u8,$topath.$m3u8)){
            @unlink($form.$m3u8);
        }
        @rmdir($form);
        rename($topath,$form);
    }
}

 

 

你可能感兴趣的:(php,FFmpeg)