phpvideotoolkit-v2 icon indicating copy to clipboard operation
phpvideotoolkit-v2 copied to clipboard

When multiple streams to single output, probe is displaying incorrect data.

Open farat opened this issue 9 years ago • 1 comments

When multiple streams to single output, probe is displaying incorrect data. Solved by modifying ProgressHandlerPortable.php line 231 like below.

$video_stream_count = preg_match_all('/\s*Stream\s*\#([0-9]+):[0-9]+s*\(...\)\s*:\s*Video\s*:/i', substr($raw_data, strpos($raw_data, 'Output #0')));

farat avatar Jan 02 '16 01:01 farat

Some part of my code:

    $video = new Video($filename);

    $output_format = new VideoFormat_Mp4();
    $output_format->setStrictness(null);
    $output_format->setThreads(0);
    $output_format->setQualityVsStreamabilityBalanceRatio(null);
    $output_format->setAudioCodec(null);
    $output_format->setAudioQuality(null);
    $output_format->setVideoCodec(null);
    $output_format->setVideoQuality(null);

    $process = $video->getProcess();

    //$process->addPreInputCommand('-t', '3');
    $process->addCommand('-metadata:s', 'language=und');

    $process->addCommand('-movflags', '+faststart');

    $process->addCommand('-preset:v', 'ultrafast');
    $process->addCommand('-c:v', 'libx264');
    $process->addCommand('-r', '25');
    $process->addCommand('-x264opts', 'keyint=25:min-keyint=25:no-scenecut:cabac=1:bframes=2');
    $process->addCommand('-pix_fmt', 'yuv420p');

    $process->addCommand('-c:a', 'aac');
    $process->addCommand('-ac', '2');

    $process->addCommand('-map', '0:v', true);
    $process->addCommand('-map', '0:v', true);
    $process->addCommand('-map', '0:v', true);
    $process->addCommand('-map', '0:v', true);
    $process->addCommand('-map', '0:a', true);

    $process->addCommand('-crf:0', '18');
    $process->addCommand('-b:0', '5000k');
    $process->addCommand('-maxrate:0', '5000k');
    $process->addCommand('-bufsize:0', '5000k');
    $process->addCommand('-filter:0', 'scale=-2:1080');

    $process->addCommand('-crf:1', '18');
    $process->addCommand('-b:1', '3500k');
    $process->addCommand('-maxrate:1', '3500k');
    $process->addCommand('-bufsize:1', '3500k');
    $process->addCommand('-filter:1', 'scale=-2:720' );

    $process->addCommand('-crf:2', '18');
    $process->addCommand('-b:2', '2000k');
    $process->addCommand('-maxrate:2', '2000k');
    $process->addCommand('-bufsize:2', '2000k');
    $process->addCommand('-filter:2', 'scale=-2:540' );

    $process->addCommand('-crf:3', '18');
    $process->addCommand('-b:3', ' 800k');
    $process->addCommand('-maxrate:3', ' 800k');
    $process->addCommand('-bufsize:3', ' 800k');
    $process->addCommand('-filter:3', 'scale=-2:360' );

    $process->addCommand('-b:4', '192k');

    $saveProcess = $video->saveNonBlocking('./output/output.mp4', $output_format, Media::OVERWRITE_EXISTING);

    $_SESSION['phpvideotoolkit_portable_process_id'] = $video->getPortableId();

farat avatar Jan 02 '16 02:01 farat