Phpでffmpegの変換を標準入力で保存せずに変換する方法

提供:sufeeWiki
ナビゲーションに移動 検索に移動

概要

なーんかネット見るとあんまり記事にしてくれていない感じなので自分で一個一個理解しながらこれだ!!とおもう感じにコードしてみました。
このコードは、変換前の容量デカすぎデータを保存せずにそのままメモリー上だけで動画・画像・音声変換したい方に有効です。

コード

<?php
$handle = fopen("input.mp4", 'rb'); 
$data = "";
while (!feof($handle)) 
{ 
    $data .= fread($handle, 4096); 
} 
fclose($handle);

$process = popen('ffmpeg -i pipe:0 -f webm ./output.webm',"wb");
if(!is_resource($process)) return;
fwrite($process, $data);
fclose($process);