Player através de Streaming ao invés de arquivo

30/10/2012

0

Oi, gente. Esta é a minha primeira pergunta neste fórum, o qual achei as conversações num nível bastante alto, comparando com o resto que vejo por aí (se tiverem sugestão de outros forums bons de Delphi eu seria muito grato)

Mas vamos à questão: Estou usando o TMediaPlayer para fazer um pequeno projeto de Player de vídeo em Delphi7 (ou posso usar outra plataforma Delphi mais nova se for o caso).

O problema é que eu só consigo executar ARQUIVOS de vídeo, o que não serviria para usá-lo de forma remota (pois teria que baixar o arquivo inteiro antes de começar a executá-lo (o vídeo)). Existe como um servidor enviar dados tipo um TStream que fossem sendo mostrados à medida que o cliente recebe, como no Youtube, Adobe Flash Player etc.?

Agradeço qualquer ajuda.

Inté!
Luciano Santos

Luciano Santos

Responder

Posts

01/11/2012

Claudia Nogueira

Estava esperando alguém com mais conhecimento no assunto pra te ajudar.
Você tentou instalar o ActiveX do windows media player e passar o link do vídeo na propriedade URL?

Pra importar o ActiveX, vai em componente, import activex control.
Embaixo na lista vai ter Windows Media Player, seleciona e clica em install.
Feito isso, na aba ActiveX vai ter WindowsMediaPlayer.

Será que é isso que você precisa?
Se não for posta novamente pra gente ajudar.
Responder

01/11/2012

Luciano Santos

Obrigado, vou testar.

Eu pensei, também, em usar a API do Windows para enviar frame a frame e desenha-las com um paintbox, mas eu teria que saber que dll do Windows usar, que funções da dll, e, desculpa a "ignorância", mas como acessa-la pelo Delphi, caso ele ainda não a tenha "encapsulado".

Amanhã eu te digo o resultado do teste do Activex.
Responder

01/11/2012

Luciano Santos

Obrigado, vou testar.

Eu pensei, também, em usar a API do Windows para enviar frame a frame e desenha-las com um paintbox, mas eu teria que saber que dll do Windows usar, que funções da dll, e, desculpa a "ignorância", mas como acessa-la pelo Delphi, caso ele ainda não a tenha "encapsulado".

Amanhã eu te digo o resultado do teste do Activex.
Responder

03/11/2012

Vtrx

Eu acho que a pregunta não está completa.
Voce deseja executar o arquivo remotamente,mas existem N maneiras do player carrgar o arquivo.
Voce pode carregar o arquivo numa Stream,mas não da para saber se voce vai executar direto de um link ou vai usar uma rotina propria para carregar.
De um exemplo masi específico.
Responder

03/11/2012

Luciano Santos

Eu acho que a pregunta não está completa.
Voce deseja executar o arquivo remotamente,mas existem N maneiras do player carrgar o arquivo.
Voce pode carregar o arquivo numa Stream,mas não da para saber se voce vai executar direto de um link ou vai usar uma rotina propria para carregar.
De um exemplo masi específico.


Rapaz, contanto que eu consiga executar um avi ou semelhante, por meio remoto, via Delphi, já tá ajudando...

Aproveito para dar meu feedback a Cláudia: Instalei o Activex, teste, mas, apesar da propriedade ser chamada 'URL', so funciona quando específico um arquivo local (tipo 'C:\LUCIANO\VÍDEOS \AS AVENTURAS DO URSINHO AMIGUINHO.AVI'). Se uso uma url, pelo menos via servidor HTTP, ele não dá erro, mas, também, não exibe (tipo: '197.54.62.287/VIDEOS/AS AVENTURAS DO URSINHO AMIGUINHO.AVI').

Qualquer ajuda continuará sendo bem vinda.

Grato, até agora, em nome de Jesus Cristo.
Responder

03/11/2012

Luciano Santos

Eu acho que a pregunta não está completa.
Voce deseja executar o arquivo remotamente,mas existem N maneiras do player carrgar o arquivo.
Voce pode carregar o arquivo numa Stream,mas não da para saber se voce vai executar direto de um link ou vai usar uma rotina propria para carregar.
De um exemplo masi específico.


Rapaz, contanto que eu consiga executar um avi ou semelhante, por meio remoto, via Delphi, já tá ajudando...

Aproveito para dar meu feedback a Cláudia: Instalei o Activex, teste, mas, apesar da propriedade ser chamada 'URL', so funciona quando específico um arquivo local (tipo 'C:\LUCIANO\VÍDEOS \AS AVENTURAS DO URSINHO AMIGUINHO.AVI'). Se uso uma url, pelo menos via servidor HTTP, ele não dá erro, mas, também, não exibe (tipo: '197.54.62.287/VIDEOS/AS AVENTURAS DO URSINHO AMIGUINHO.AVI').

Qualquer ajuda continuará sendo bem vinda.

Grato, até agora, em nome de Jesus Cristo.
Responder

03/11/2012

Luciano Santos

Eu acho que a pregunta não está completa.
Voce deseja executar o arquivo remotamente,mas existem N maneiras do player carrgar o arquivo.
Voce pode carregar o arquivo numa Stream,mas não da para saber se voce vai executar direto de um link ou vai usar uma rotina propria para carregar.
De um exemplo masi específico.


Rapaz, contanto que eu consiga executar um avi ou semelhante, por meio remoto, via Delphi, já tá ajudando...

Aproveito para dar meu feedback a Cláudia: Instalei o Activex, teste, mas, apesar da propriedade ser chamada 'URL', so funciona quando específico um arquivo local (tipo 'C:\LUCIANO\VÍDEOS \AS AVENTURAS DO URSINHO AMIGUINHO.AVI'). Se uso uma url, pelo menos via servidor HTTP, ele não dá erro, mas, também, não exibe (tipo: '197.54.62.287/VIDEOS/AS AVENTURAS DO URSINHO AMIGUINHO.AVI').

Qualquer ajuda continuará sendo bem vinda.

Grato, até agora, em nome de Jesus Cristo.
Responder

04/11/2012

Gilvanio Gonçalves

Amigo vc quer assistir video externo no delphi, no caso não é sistema de streaming
se caso for usar streaming vc terá que usar componentes de terceiros tipo:
DSPACK, e um serviço de streaming pago.

mas vc pode fazer um player para assitir video de alguma url (site onde tenha o video)
exemplo pratico um video do proprio youtube.

para criar o player sem componente externo faça o seguinte:
Instale o componente ShockWave Flash. Ele já vem no Delphi:
Vai em (COMPONENT > IMPORT ACTIVEX CONTROL) e instale o ShockWave Flash (version 1.0)

Depois que instalar o componente, vai na aba ACTIVEX você vai encontrar o "shockwaveflash" Coloque ele no seu form,
sera onde o vídeo do youtube ira aparecer.

Se tudo ocorreu bem até agora, é a hora de dar o comando para mostrar os seus vídeos da lista.

Primeiro para ficar melhor mude o nome do componente para "flash".

Não sei o que você vai usar para exibir uma lista. Mais coloque o comando em cada item ou botão:

flash."movie":= "Aqui você colocar a URL do vídeo no youtube com algumas alterações."


Exemplo:
Essa é a url normal:

http://www.youtube.com/watch?v=GGBpXVHtGfs

essa é a modificada para funcionar no component:

http://www.youtube.com/v/GGBpXVHtGfs.swf

Repare que só foi retirado da url normal o "watch?v=" é só alterar essa parte para /v/ e adicionar o ".swf" no final da url.

Então ficara assim:

flash.movie:= "http://www.youtube.com/v/GGBpXVHtGfs.swf" 
flash.play;


O flash.play, é para iniciar o vídeo automaticamente.

Pronto faça isso com todos os seus itens ou botões redirecionando para o seus respectivos vídeos.

teste e veja se isto servirá pra vc, pelo ao menos te dará um caminho de como exibir um video, a partir dai
vc tenta implementar ao que precisa.

Abs.
Responder

11/11/2012

Luciano Santos

Gilvanio C. Gonçalves, você escreveu:

para criar o player sem componente externo faça o seguinte:
Instale o componente ShockWave Flash. Ele já vem no Delphi:
Vai em (COMPONENT > IMPORT ACTIVEX CONTROL) e instale o ShockWave Flash (version 1.0)

Depois que instalar o componente, vai na aba ACTIVEX você vai encontrar o "shockwaveflash" Coloque ele no seu form,
sera onde o vídeo do youtube ira aparecer.

Se tudo ocorreu bem até agora, é a hora de dar o comando para mostrar os seus vídeos da lista.

Primeiro para ficar melhor mude o nome do componente para "flash".

Não sei o que você vai usar para exibir uma lista. Mais coloque o comando em cada item ou botão:

flash."movie":= "Aqui você colocar a URL do vídeo no youtube com algumas alterações."


Exemplo:
(...)
Então ficara assim:

flash.movie:= "http://www.youtube.com/v/GGBpXVHtGfs.swf" 
flash.play;


O flash.play, é para iniciar o vídeo automaticamente.

Pronto faça isso com todos os seus itens ou botões redirecionando para o seus respectivos vídeos.

teste e veja se isto servirá pra vc, pelo ao menos te dará um caminho de como exibir um video, a partir dai
vc tenta implementar ao que precisa.

Abs.


Testei isso, usando um link da minha própria rede interna, mas não "falou"...
Coloquei o nome do componente do tipo TShockwaveFlash de 'SF' e fiz (OnClick de um TBitBtn):

SF.Movie := 'http://10.0.0.100/Filmes/E o Vento Levou CD1.avi';
SF.Play;


... e nada aconteceu...

Será que é porque eu uso Delphi 7 os invés dos mais atuais? Testei também com uma url do youtube e nada. Minha url interna aparece em qualquer browser de qualquer computador da minha rede, mas, obviamente, se clico em algum arquivo, o browser tenta fazer um download e, não, apresentar o filme/vídeo.

Agradeço as dicas e tentativas até agora, mas, ainda nada... Mas vamos lá!

Cláudia, sumiste, também (além de mim, claro)?
Responder

12/11/2012

Gilvanio Gonçalves

Colega, o exemplo que te passei funciona sim no delphi 7, Não sei como vc fez e porque
não esta dando video.

faça o seguinte, use este componente no seu delphi7, o componente é DSPack.
como ele vc assiste filmes, tv, por URL, captura imagem de WebCam etc.

junto com o componente vem exemplos de uso do mesmo.

abaixo o link para vc baixar na versão free, ok.

este componente com certeza vai resolver seu problema de streaming.

http://sourceforge.net/projects/dspack/

não sou a Claudia, mas estou te passando a solução para o seu projeto.

At+
Responder

12/11/2012

Claudia Nogueira

Deixei de responder ao tópico depois de perceber que o Gilvanio sabia mais sobre o assunto e a solução dele iria resolve seu problema.
Boa sorte.
Responder

12/11/2012

Claudia Nogueira

Correção: *resolver.

Deixei de responder ao tópico depois de perceber que o Gilvanio sabia mais sobre o assunto e a solução dele iria resolve seu problema.
Boa sorte.
Responder

13/11/2012

Gilvanio Gonçalves

Correção: *resolver.

Deixei de responder ao tópico depois de perceber que o Gilvanio sabia mais sobre o assunto e a solução dele iria resolve seu problema.
Boa sorte.

claudia, todos nos conhecemos um pouco,não sabemos, muito, mas o que sabemos tentamos compartilhar com os colegas, quando disse que não sou a claudia, de forma alguma quiz desfazer a informação que vc passou a ele, e que ele solita diretamente a sua ajuda, sendo que eu resolvi resdponder a este topico, me unindo com vc para ajudarmos o colega ok.
por isto disse não sou a Claudia rsrs.

um abraço de seu colega deste forum.
Responder

13/11/2012

Claudia Nogueira

Gilvanio, eu entendi, hehehe.
Eu já tinha comentado com o colega em outro post que eu não sabia muito sobre o assunto e que não tinha respondido ainda por que estava esperando alguém com mais conhecimento pra ajudá-lo, aí mesmo assim ele pediu pra eu colaborar, fui tentando ajudar, aí como sua solução é mais viável, por isso não preciso mais responder o tópico.
Abraço.
Responder

13/11/2012

Luciano Santos

este componente com certeza vai resolver seu problema de streaming.

http://sourceforge.net/projects/dspack/

não sou a Claudia, mas estou te passando a solução para o seu projeto.

At+


Amigo, de forma alguma quis te preterir em relação a Cláudia ou qualquer outra pessoa; apenas que ela havia me ajudado no início, então, fiz menção do nome dela como mais uma fonte de idéias. Sinceramente, se a solução do meu problema vier de Cláudia, Cláudio, Claudionora, Claudionor, Gilvanio G. Gonçalves, Xuxa, até mesmo de Maluf, contanto que resolva meu problema (sem pedir propina em troca, claro... rsrsrs), pra mim, tá blz!

A propósito, couve conhece uma biblioteca dll que lida diretamente com arquivos .avi? E, de forma resumida, como usar uma dll qualquer no Delphi, diretamente?

Estou testando seu componente, mas ainda não cheguei aos finalmentes, porém, se eu conseguisse usar ferramentas de "primeiros" sei invés de terceiros, pasta mim, será melhor; porém, o fato de ser de terceiros não é impeditivo, apenas preferência.

Grato a você, até agora, por ter despendido do seu tempo para tentar me ajudar.

Luciano Fernandes.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar