「Phpでffmpegの変換を標準入力で保存せずに変換する方法」の版間の差分
ナビゲーションに移動
検索に移動
Sufee Admin (トーク | 投稿記録) ページの作成:「== 概要 == なーんかネット見るとあんまり記事にしてくれていない感じなので自分で一個一個理解しながらこれだ!!とおもう感じにコードしてみました。 <br>このコードは、変換前の容量デカすぎデータを保存せずにそのままメモリー上だけで動画・画像・音声変換したい方に有効です。 == コード ==」 |
Sufee Admin (トーク | 投稿記録) |
||
4行目: | 4行目: | ||
== コード == | == コード == | ||
<syntaxhighlight lang="php"> | |||
<?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); | |||
</syntaxhighlight> |
2022年12月11日 (日) 23:19時点における最新版
概要
なーんかネット見るとあんまり記事にしてくれていない感じなので自分で一個一個理解しながらこれだ!!とおもう感じにコードしてみました。
このコードは、変換前の容量デカすぎデータを保存せずにそのままメモリー上だけで動画・画像・音声変換したい方に有効です。
コード
<?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);