Accueil > > > FLV TO MP3
FLV TO MP3
Information sur la source
Description
Cette source permet d'extraire un mp3 d'un fichier flv. Je suis à la recherche de testeurs. C'est une simple traduction en Java de codes trouvés sur internet. La description des headers d'un fichier flv se trouvent ici : http://osflash.org/flv -- This source code is able to extract a MP3 track from a FLV. Free to use, please report me errors or links using this code.
Source
- import java.io.*;
-
- public class FlvToMp3 {
-
- public static int convert(String input, String output){
- // reading
- FileOutputStream fos = null;
- DataOutputStream dos = null;
- // writting
- FileInputStream fis = null;
- DataInputStream dis = null;
-
- int bufsize = 4096;
-
- try{
- fis = new FileInputStream(input);
- BufferedInputStream bis = new BufferedInputStream( fis, bufsize);
- dis = new DataInputStream(bis);
-
- File file = new File(output);
- fos = new FileOutputStream(file);
- dos = new DataOutputStream(fos);
-
- int i = dis.readInt(); //FLV
- if (i == 0x464C5601){
- dis.readByte(); // read flags
- dis.readInt(); // read headers size
- int prevTagSize = dis.readInt();
- while(prevTagSize >= 0){ //
- int eTagType = 0;
- eTagType = dis.readByte(); // read tag type
- int nLength = getUI24(dis); // read tag lenght
- dis.readInt(); // read time stamp
- getUI24(dis); // streamID
- if (nLength > 0) {
- dis.readByte(); // read MediaType
-
- byte[] xbData = new byte[nLength - 1];
- dis.read(xbData, 0, nLength -1);
-
- // write only audio data
- if (eTagType == 0x08){
- dos.write(xbData, 0, nLength - 1);
- }
- }else{
- break;
- }
- try{
- prevTagSize = dis.readInt();
- }catch (Exception e) {
- dos.close();
- fos.close();
- return 0;
- }
- }
- dos.close();
- fos.close();
- }else{
- return -2; // not flv
- }
- } catch (IOException e) {
- e.printStackTrace();
- return -1;
- }
- return 0;
- }
-
- public static void main(String[] args) {
- int r = convert("C:\\flv.flv", "C:\\mp3.mp3");
- System.out.print(r);
- }
-
- private static int getUI24(DataInputStream br){
- byte[] cbuff = new byte[3];
- try {
- br.read(cbuff, 0, 3);
- } catch (IOException e) {
- }
- return bytesToInt(cbuff);
- }
-
- private static int bytesToInt(byte[] bytes)
- {
- int value = 0;
- for(int i=0; i<bytes.length; i++){
- value = value << 8;
- value += bytes[i] & 0xff;
- }
- return value;
- }
- }
import java.io.*;
public class FlvToMp3 {
public static int convert(String input, String output){
// reading
FileOutputStream fos = null;
DataOutputStream dos = null;
// writting
FileInputStream fis = null;
DataInputStream dis = null;
int bufsize = 4096;
try{
fis = new FileInputStream(input);
BufferedInputStream bis = new BufferedInputStream( fis, bufsize);
dis = new DataInputStream(bis);
File file = new File(output);
fos = new FileOutputStream(file);
dos = new DataOutputStream(fos);
int i = dis.readInt(); //FLV
if (i == 0x464C5601){
dis.readByte(); // read flags
dis.readInt(); // read headers size
int prevTagSize = dis.readInt();
while(prevTagSize >= 0){ //
int eTagType = 0;
eTagType = dis.readByte(); // read tag type
int nLength = getUI24(dis); // read tag lenght
dis.readInt(); // read time stamp
getUI24(dis); // streamID
if (nLength > 0) {
dis.readByte(); // read MediaType
byte[] xbData = new byte[nLength - 1];
dis.read(xbData, 0, nLength -1);
// write only audio data
if (eTagType == 0x08){
dos.write(xbData, 0, nLength - 1);
}
}else{
break;
}
try{
prevTagSize = dis.readInt();
}catch (Exception e) {
dos.close();
fos.close();
return 0;
}
}
dos.close();
fos.close();
}else{
return -2; // not flv
}
} catch (IOException e) {
e.printStackTrace();
return -1;
}
return 0;
}
public static void main(String[] args) {
int r = convert("C:\\flv.flv", "C:\\mp3.mp3");
System.out.print(r);
}
private static int getUI24(DataInputStream br){
byte[] cbuff = new byte[3];
try {
br.read(cbuff, 0, 3);
} catch (IOException e) {
}
return bytesToInt(cbuff);
}
private static int bytesToInt(byte[] bytes)
{
int value = 0;
for(int i=0; i<bytes.length; i++){
value = value << 8;
value += bytes[i] & 0xff;
}
return value;
}
}
Conclusion
On peut facilement extraire un avi dans le cas d'un FLV video en changeant une ligne : if (eTagType == 0x09){
Historique
- 19 février 2009 13:29:12 :
- orthographe
- 20 février 2009 15:00:36 :
- import java.io.*;
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
ecrire au fomrat mp3 [ par didoux95 ]
Bonjour a tous, j'arrive desormais a recuperer des bytes (dans un fichier mp3). lorsque je creer un fichier (par ex: TEST1.mp3) et que j'enregistre ce
bytes[ ] en String? [ par bygui ]
bonjour,J'aimerais convertir un tableau de byte en string. Quelle methode dois-je utiliser?
editeur de tags [ par adrienr11vdv ]
bonjour à tous,j'aimerai créer un éditeur de tags pour des fichiers mp3. j'aurai voulu avoir au préalable quelques informations. sous windows xp, on v
renseignement sur les tags pour les MP3 [ par adrienr11vdv ]
bonjour à tous,j'aimerai savoir s'il était possible de renseigner les informations d'un fichier .mp3 avec un programme java.ces informations peuvent ê
signature numérique tableau de bytes [ par peute51 ]
Bonjour a tous, je dois developper une application qui doit signer des documents.Pour cela j'utilise une api qui me retourne la signature en tableau d
Lire fichier PDF [ par leviz ]
Bonjour,Voilà mon porblème:Je dispose d'un tableau dans lequel j'affiche des liens vers des fichiers PDF stocker sur mon serveur. Je cherche à lire le
affecter extension [ par didoux95 ]
Bonjour a tous.j'aimerais savoir si il est possible de "dire" à l'ordinateur que tous les fichier ayant l'extension, par ex, .mp3 s'ouvrent avec mon a
extraction de données de la zone MPEG frame d'un fichier mp3 [ par ranwan ]
Bonjour, je suis débutant en java et je n'arrive pas à extraire les données de la zone MPEG frame des fichiers mp3.je ne sais par où commencer. est-ce
|
Derniers Blogs
UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|