Ir para conteúdo

POWERED BY:

Arquivado

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

marcelo l filho

Captura de Vídeo

Recommended Posts

Olá, esse é meu primeiro post aqui no fórum e tenho a seguinte dúvida.Não sou expert em ASP VBScript ou Flash mas tenho um amplo conhecimento e gostaria de saber como se faz para capturar uma imagem de um vídeo via código.Exemplo YoutTube que mostra um thumb do seu vídeo.Obrigado...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se foi o q entendi!!

 

ASP
<object width="425" height="350">

  <param name="movie" value="<%=Objloc("CaminhoDoVideo")%>"></param><param name="wmode" value="transparent"></param><embed src="<%=Objloc("CaminhoDoVideo")%>" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed>

</object>

 

até outra hora!

Compartilhar este post


Link para o post
Compartilhar em outros sites

o que o marcelo quer é capturar um frame de um determinado video

 

esse tipo de aplicação é feita em integração com outros softwares.

 

quem trabalha com php e servidores linux geralmente utiliza o "ffmpeg"

 

exemplo,

 

no php existe a função exec()

dentro dessa função são colocados os comandos como se estivesse num console ou prompt de comando do DOS

 

exec(ffmpeg -i input.avi -b 64k output.flv)

em asp seria algo assim:

 

ASP
protected void Button1_Click(object sender, EventArgs e)

    {

        System.Diagnostics.Process p = new System.Diagnostics.Process();

        p.StartInfo.FileName = Server.MapPath("~/ffmpeg.exe");

        p.StartInfo.Arguments = "ffmpeg -i test.mpg -b 64k output.flv";

        p.Start();

        string output = p.StandardOutput.ReadToEnd(); ------------- Error[StandardOut has not been redirected or the process hasn't started yet.]

        p.WaitForExit();

    }

 

Waiting 4

 

ou asssim:

 

ASP
Dim AppPath As String = Request.PhysicalApplicationPath

Dim inputPath As String = AppPath & "ffmpeg" & "myVideo.wmv"

Dim outputPath As String = AppPath & "outputFolder" & "myVideoOutput.flv"

Dim fileargs As String = " -i """ & inputPath & """ """ & outputPath & """"

Dim proc As New Diagnostics.Process()

proc.StartInfo.FileName = AppPath & "ffmpegffmpeg.exe"

proc.StartInfo.Arguments = fileargs

proc.StartInfo.UseShellExecute = False

proc.StartInfo.CreateNoWindow = False

proc.StartInfo.RedirectStandardOutput = False

proc.Start()

 

 

pesquise também por "SharpFFMepg"

 

consulte o msdn para maiores informações http://msdn2.microsoft.com/

Compartilhar este post


Link para o post
Compartilhar em outros sites

o que o marcelo quer é capturar um frame de um determinado video

 

esse tipo de aplicação é feita em integração com outros softwares.

 

quem trabalha com php e servidores linux geralmente utiliza o "ffmpeg"

 

exemplo,

 

no php existe a função exec()

dentro dessa função são colocados os comandos como se estivesse num console ou prompt de comando do DOS

 

exec(ffmpeg -i input.avi -b 64k output.flv)

em asp seria algo assim:

 

ASP
protected void Button1_Click(object sender, EventArgs e)

    {

        System.Diagnostics.Process p = new System.Diagnostics.Process();

        p.StartInfo.FileName = Server.MapPath("~/ffmpeg.exe");

        p.StartInfo.Arguments = "ffmpeg -i test.mpg -b 64k output.flv";

        p.Start();

        string output = p.StandardOutput.ReadToEnd(); ------------- Error[StandardOut has not been redirected or the process hasn't started yet.]

        p.WaitForExit();

    }

 

Waiting 4

 

ou asssim:

 

ASP
Dim AppPath As String = Request.PhysicalApplicationPath

Dim inputPath As String = AppPath & "ffmpeg" & "myVideo.wmv"

Dim outputPath As String = AppPath & "outputFolder" & "myVideoOutput.flv"

Dim fileargs As String = " -i """ & inputPath & """ """ & outputPath & """"

Dim proc As New Diagnostics.Process()

proc.StartInfo.FileName = AppPath & "ffmpegffmpeg.exe"

proc.StartInfo.Arguments = fileargs

proc.StartInfo.UseShellExecute = False

proc.StartInfo.CreateNoWindow = False

proc.StartInfo.RedirectStandardOutput = False

proc.Start()

 

 

pesquise também por "SharpFFMepg"

 

consulte o msdn para maiores informações http://msdn2.microsoft.com/

bom, pelo jeito é isso mesmo que eu quero, pegar um certo frame de um vídeo... mas eu entendi praticamente nada deste código...

o que entendi foi que esse ffmpeg.exe vai pegar meu vídeo (.wmv, .avi, .mpeg, .mpg) e vai transformá-lo num .flv certo?

Mas não entendi onde eu pego um certo frame como imagem.

 

E também se poderia me explicar melhor como faço...pois eu entendi a lógica mas não o código..

 

De qualquer forma muito obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

então marcelo.

 

eu também nao sei como se captura um frame.

 

teria que pesquisar.

 

acho que com isso aí você já tem uma certa noção conseguirá fazer uma pesquisa.

 

no seu caso, pra capturar um frame, dependerá do software conversor editor de video.

 

pra isso você deve procurar pro softwares editores de video que oferecem suporte a linha de comando. A maioria dos sotwares suportam linhas de comando. por exemplo, no menu iniciar -excutar do windows, digite "cmd"

 

vai abrir a tela do DOS.

 

nessa tela do dos digite "netstat" e pressione ENTER

 

agora digite "netstat /a" e pressione ENTER

 

o resultado vai ser diferente por que você informou um parâmetro ao programa netstat.exe

 

outro exemplo,

 

ffmpeg -i input.avi -b 64k output.flv

 

esse comando envia um parametro pro programa ffmpeg que interpretará os dados.

 

se trocar por

 

ffmpeg -help ( exemplo apenas. nao sei se funciona )

 

vai retornar o menu de ajuda.

 

resumindo

tudo que você precisa é de um software de ediçao de video que suporte ser executado por linha de comando

e obter a lista de parametros suportados.

Compartilhar este post


Link para o post
Compartilhar em outros sites

SharpFFMepg

http://sourceforge.net/projects/sharpffmpeg

 

 

 

fiz uma pesquisa rapida e encontrei uma solução usando ffmpeg

 

 

primeiro deve converter o video pra flv

ffmpeg -i test.mpg -ab 56 -ar 22050 -b 500 -r 15 -s 320x240 test.flv

 

depois, pegar o flv e capturar o frame

ffmpeg -an -y -t 0:0:0.001 -i test.flv -f image2 test.jpg

em ASP use VBScript. exemplo:

 

ASP
<%@ Language = VBScript %>

 

<% Set WSHShell = Server.CreateObject("WScript.Shell")

 

WSHShell.Run "ffmpeg -i testing1.mpeg -ar 22050 -ab 32 -f flv -s 320x240 testing1.flv"

 

WSHShell.Run "ffmpeg -i testing1.flv -an -ss 00:00:03 -an -r 2 -vframes 1 -y testing1.jpg"

 

Set WSHShell = Nothing %>

Compartilhar este post


Link para o post
Compartilhar em outros sites

SharpFFMepg

http://sourceforge.net/projects/sharpffmpeg

 

 

 

fiz uma pesquisa rapida e encontrei uma solução usando ffmpeg

 

 

primeiro deve converter o video pra flv

ffmpeg -i test.mpg -ab 56 -ar 22050 -b 500 -r 15 -s 320x240 test.flv

 

depois, pegar o flv e capturar o frame

ffmpeg -an -y -t 0:0:0.001 -i test.flv -f image2 test.jpg

em ASP use VBScript. exemplo:

 

ASP
<%@ Language = VBScript %>

 

<% Set WSHShell = Server.CreateObject("WScript.Shell")

 

WSHShell.Run "ffmpeg -i testing1.mpeg -ar 22050 -ab 32 -f flv -s 320x240 testing1.flv"

 

WSHShell.Run "ffmpeg -i testing1.flv -an -ss 00:00:03 -an -r 2 -vframes 1 -y testing1.jpg"

 

Set WSHShell = Nothing %>

 

Eu achei isso, onde explica tudo sobre essa ffmpeg:

http://ffmpeg.mplayerhq.hu/index.html

 

Mas esse objeto "WScript.Shell" meu servidor não suporta e não entendi onde coloco esse ffmpeg.exe (se é na raiz do site ou instalada direto no servidor)

 

Nas minhas buscas, eu encontrei o seguinte código:

 

W = 640  H = 480  Set VideoConverter = CreateObject("FFMpegScout.Application")  VideoConverter.InputFileName = "testvideo.avi"  VideoConverter.OutputFileName = "testvideo.flv"  VideoConverter.Execute   Set VideoConverter = Nothing
Acho que é com a FFMpeg, nesse link que eu te passei acima, tem a documentação da FFMpeg e um download, acho que isso pode te ajudar também!

Eu baixei lá no Download mas não entendi nada do que veio, o meu amigo aqui me disse que é arquivos para Linux.

 

Acho que isso pode ajudar também:

http://www.videohelp.com/tools/ffmpeg

 

Vê se isso nos ajuda em alguma coisa...

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

pra usar num servidor tem que instalar como qq outro programa.servidores de hospedagem geralmente nao aceitam, principalmente se for uma conta compartilhada.você precisará alugar um servidor dedicado.pra fazer testes utilize seu próprio pc.

Compartilhar este post


Link para o post
Compartilhar em outros sites

pra usar num servidor tem que instalar como qq outro programa.servidores de hospedagem geralmente nao aceitam, principalmente se for uma conta compartilhada.você precisará alugar um servidor dedicado.pra fazer testes utilize seu próprio pc.

Então, meu amigo me disse que por se tratar do objeto que precisa usar a Shell do servidor com certeza ele não liberarão isso. No código que eu te mandei acima com o:
FFMpegScout.Application
Será que não há um jeito de usar este?

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao tem jeito. esses controladores necessitam de permissões de acesso ao shell do servidor.é possível criar um controlador que limite quais serviços podem ser executados, mas os administradores do servidor de hospedagem geralmente não aceitam. 2 soluçoes: 1- servidor dedicado 2- print screen

Compartilhar este post


Link para o post
Compartilhar em outros sites

pra usar num servidor tem que instalar como qq outro programa.

 

servidores de hospedagem geralmente nao aceitam, principalmente se for uma conta compartilhada.

 

você precisará alugar um servidor dedicado.

 

pra fazer testes utilize seu próprio pc.

Olá amigos....

 

É possível sim ter ffmpeg e ffmpeg-php em servers compartilhados,,,

basta pra isso ter acesso ao ssh, o resto é barbada:

 

vcs podem ver aqui ao tuto sobre como instalar em shared hosts:

http://www.luizdeitos.com/2008/08/07/ffmpe...-compartilhado/

 

também temos aqui um tuto de como podemos alterar as propriedades do nosso amigão php.ini, já que estamos falando de vídeos em sites, logo chegamos às limitações de servidores,,, que por sua vez chamam nossa atenção para nosso querido PHP.INI.

Vejam:

http://www.luizdeitos.com/2008/08/06/alter...compartilhadas/

 

certo??? Abraço à todos

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.