如何将 base64 字符串转换为 PHP 中的视频?

How to convert base64 string to video in PHP?

我有一个 base64 编码的字符串,我的前端团队提供给我 with.The 字符串是一个使用 base64 编码的视频。我想使用 Php.

将其转换回视频文件

我目前只是使用以下方法来解码字符串,但我不知道如何进行下一步。

$decoded = base64_decode ($encoded_string);

似乎有一种方法可以使用 imagecreatefromstring() 函数从字符串转换图像,但我找不到方法将其转换为视频。

谢谢

你应该知道视频文件类型。你可以解码为原始格式

$fp=file_put_contents('sample.mp4',base64_decode($encoded_string,true));

视频流往往非常大,因此首先将它们转换为纯文本并不是一个好主意。我们还需要知道用于传递 base64 字符串的确切机制(协议、格式...)。在任何情况下,一旦到达那里你就可以做这样的事情(为简洁起见省略了错误检查):

$chunk_size = 8192; // Bytes (must be multiple of 4)
$input = fopen('php://input', 'rb');
$output = fopen('/tmp/foo.avi', 'wb');
while ($chunk = fread($input, $chunk_size)) {
    fwrite($output, base64_decode($chunk));
}
fclose($output);
fclose($input);

较小的块减少 RAM 使用,较大的块提高 I/O 性能。您需要找到最适合您的平衡点。