Cara… tem um programinha chamado ffmpeg, que você pode invocar ele em sua aplicação java para fazer conversões. Ele tem versão para windows e para linux.
Por exemplo, o código a seguir converte todos os arquivos da pasta midia (neste caso, arquivos wmv) para arquivos no formato flv. Para tanto, precisei ter o executável ffmpeg.exe na raiz do meu projeto.
import java.io.File;
public class Conversor {
public static void main(String[] args) {
File dir = new File("midia");
File midia[] = dir.listFiles();
for (int i = 0; i < midia.length; i++) {
File file = midia[i];
String command = "ffmpeg.exe -i " + file.getAbsolutePath() + " filme_" + i + ".flv";
System.out.println("Conversor.main() " + command);
Process p = null;
try {
System.out.println(command);
p = Runtime.getRuntime().exec(command);
} catch (Exception e) {
System.out.println("Conversor.main() erro " + p);
System.out.println(e);
}
System.out.println("Conversor.main() terminei "+i);
}
}
}
[quote=cassioso]Cara… tem um programinha chamado ffmpeg, que você pode invocar ele em sua aplicação java para fazer conversões. Ele tem versão para windows e para linux.
Por exemplo, o código a seguir converte todos os arquivos da pasta midia (neste caso, arquivos wmv) para arquivos no formato flv. Para tanto, precisei ter o executável ffmpeg.exe na raiz do meu projeto.
[code]
import java.io.File;
public class Conversor {
public static void main(String[] args) {
File dir = new File("midia");
File midia[] = dir.listFiles();
for (int i = 0; i < midia.length; i++) {
File file = midia[i];
String command = "ffmpeg.exe -i " + file.getAbsolutePath() + " filme_" + i + ".flv";
System.out.println("Conversor.main() " + command);
Process p = null;
try {
System.out.println(command);
p = Runtime.getRuntime().exec(command);
} catch (Exception e) {
System.out.println("Conversor.main() erro " + p);
System.out.println(e);
}
System.out.println("Conversor.main() terminei "+i);
}
}
}
[/code][/quote]
cassioso, eu faria igual. Mas em shell.
cassioso, eu faria igual. Mas em shell. :)[/quote]
Cara, eu não entendo muito bem de shell,
mas isso que ele fez não seria executar o shell que o programa disponibiliza através de código java???[/quote]
Sim, mas é um passo a mais desnecessário. Além de requerer que o individuo tenha Java instalado na máquina.
Eu esqueci de mencionar que gostaria que o usuário ao fazer o upload, o vídeo fosse automaticamente convertido para .flv.
Assim eu consigo manter um padrão de visualização bem interessante e não preciso que o cliente instale todos os plugins de vídeos possíveis para assistir o vídeo através do navegador.
hospedo meu site em um servidor (Linux) onde eu só tenho acesso ao CPANEL e WHM, fora ftp, não sei se tem ffmpeg instalado (como posso ver se tem instalado?)
Gostaria de saber, vi o código em java do amigo Cássio, achei interessante, dá pra utilizar da seguinte forma?:
O arquivo é enviado por formulario.php ao site, sendo armazenado os dados em sql, somente o arquivo em pasta (/videos/) (isso eu já tenho pronto, envio diretamente wmv ao site sem problemas, mas como o firefox e alguns navegadores não lêem wmv infelizmente, tenho que optar por flash…
qual seria a linha de comando para converter automaticamente esse arquivo enviado (.mov, .wmv ou .avi) para .flv ?
Para usar esta solução do ffmpeg, do jeito que foi proposta neste fórum, você precisa tê-lo instalado no seu servidor. no caso vc teria que ter acesso a linha de comando. Pode entrar em contato com seu servidor perguntando como fazer e se seu pacote dá suporte a estas operações.
Ou… pode usar uma solulção a la Web Service, onde quando o usuário fizer upload do vídeo no seu site, vc envia o vídeo para algum outro site que possui o serviço de conversão e armazena novamente no seu site o vídeo convertido.
[quote=Rubem Azenha]Se o video não for secreto, pode usar o próprio YouTube para converter E armazenar
[/quote]
Rubem, o problema seria o youtube apresentar o logotipo do youtube no vídeo… entende ? ficaria uma coisa amadora para apresentar apesar de ser um método eficiente e show de bola…
imagine a globo.com ou G1 armazenar seus videos no youtube e apresentar no site da globo.com ? no caso deles, uma gigantesca empresa, ficaria amadora, não daria tanto ênfase ao site deles