Не удалось получить видео после извлечения контента и кодирования Base64 с помощью PHP - PullRequest
4 голосов
/ 28 декабря 2011

Я попытался вернуть свое видео (mp4) после получения содержимого, затем я закодировал его с помощью base64, но мое видео все еще не воспроизводится. Я попробовал код ниже с изображениями, и он работает. Почему это не работает с видео?

<?php
    $con=file_get_contents("kecak.mp4"); //kecak.mp4 work to play with <video> </video> tag
    $en=base64_encode($con);
    $binary_data='data:'.$mime.';base64,'. $en ;
?>

<video width="320" height="240" controls="controls">
    <source src="<?php echo $binary_data ?>" type="video/mp4" /> 
    Your browser does not support the video tag.
</video>

Ответы [ 2 ]

1 голос
/ 30 декабря 2011

Я считаю, что есть ограничение длины для base64_encode. Когда ввод слишком длинный, он ничего не выводит. У меня нет вашего видео или деталей для его проверки, но я думаю, что chunk_split может помочь вам здесь: http://nl.php.net/manual/en/function.chunk-split.php.

0 голосов
/ 06 февраля 2019
   // works for me
    $img_str = base64_encode(file_get_contents($filename)); // encode file
    header("Access-Control-Allow-Origin: *"); // allow all CORS // dev only
    header("Content-Type: text/plain"); // resp file header
    echo($img_str);  // echo base64 string
...