Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

EstiloFacil

[Resolvido] Como gerar output para video flv?

Recommended Posts

Opa galera, é o seguinte, tenho um diretório trancado que só pode ser acessado com autenticação, o php faz isso e assim que o usuário está logado ele consegue entrar no diretório e acessar os arquivos (quem faz isso é o sistema, não o usuário). Então oque preciso é que quando o usuário clique em um vídeo, este vídeo estará guardado dentro do diretório trancado, e o usuário não vai chamar o vídeo diretamente, ele irá chamar uma página php que recebe um parâmetro via GET e "se transforma" naquele vídeo solicitado.

 

Tentei fazer o script alterar seu mime-type mas não funciona pra arquivos .flv, justamente o formato que eu preciso. Vejam meu código:

 

<?
require_once("config.php");
require_once("classes/Material.class.php");
$material = new Material($_GET['id_material']);
header("Content-type: ".$material->mime);  //se transforma no mime type do vídeo
readfile("arquivos/".$material->url); //escreve em si mesmo o conteúdo do vídeo guardado no dir trancado
?>

 

Alguém teria alguma idéia? eu não posso esclher outro formato pq o vídeo em flv é o único que o player em flash vai suportar... ele suporta mp4 também,mas duvido que o cliente terá seus vídeos em mp4. Desculpem o incômodo. Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

nesse trecho,

 

$material = new Material($_GET['id_material']);
header("Content-type: ".$material->mime);

faça um debug

 

 

$material = new Material($_GET['id_material']);
print_r( $material ); exit;
header("Content-type: ".$material->mime);

verifique se está retornando os dados consistentemente

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então hehehe, realmente a propriedade mime do Material não estava retornando nada... mas corrigi isso e agora ta retornando o mime type correto do arquivo. Nesse caso eu testei e retornou: video/x-flv

 

O problema eh que quando eu abro essa pagina passando uma id qualquer, o que ele faz eh virar um PHP de 15 mb, ao invés de virar um vídeo. Quando é foto é tranquilo, o nome fica: output.php.jpg mas quando é video fica só: output.php (e literalmente baixa a página PHP com o vídeo escrito nela).

 

PS: testei carregar um vídeo mpeg e funcionou, na hora de salvar o arquivo ficou: output.php.mpg e quando cliquei no link pra download ele abriu o media player. Mas com vídeos flv ele nao funciona... =(

Compartilhar este post


Link para o post
Compartilhar em outros sites

woooopa consegui aki galera... se for dúvida de mais alguém segue o q fiz:

 

você pode escolher o nome de como seu arquivo será salvo dessa forma:

 

header('Content-Disposition: attachment; filename="meu-video.flv"');

 

nesse caso o arquivo se chama output.php mas na hora do download será salvo como: meu-video.flv

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.