Recording Audio with Flash Player to MP3, WAV, AVI, etc.
My team is currently developing a series of interactive speech recognition application. One of the applications requires us to create a web front end that allows us to record audio from a user microphone and return it to the server. To be able to process the file it must be in WAV format. (Microsoft provides a plug-in that can transfer the audio from a web browser to our server, but it is 60MB and thus would render our application useless.)
We decided to use Flash and quickly found that we could not extract the audio from our recorded FLV files. We had no trouble extracting audio from FLV files that we had generated through our own conversion but we simply could not get the audio out of the files that were being streamed to our Flash Media Server. We discovered that all files converted from another format to FLV store audio in an embedded MP3. Unfortunately, all FLV files recorded from the user’s microphone in by the Flash Player use the Nellymoser audio format. Nellymoser is a highly proprietary mono audio format designed solely for streaming speech. When we looked for a program to decompress this converter we found that Nellymoser offered a converter for $7,500.
We did some more digging and found people claiming that that there was one other converter that would do our decoding, the Total Video Converter. We also found that for only $50.00 we could get our hands on the registered version which includes a command line interface that we could use on our web server. As there was no documentation on how to use the command line features of Total Video Converter I created to following tutorial.
How to Extract Audio from FLV Files Recorded by the Flash Player
Download and install Total Video Converter http://www.effectmatrix.com/total-video-converter/
Use GUI to convert an FLV file.
To convert an FLV that contains video or video and audio, but not audio only, you may use the GUI which is self explanatory. Audio only clips can not be converted with the GUI at this time. (The application simply locks up when we try to convert Nellymoser audio only FLV files).
How to Use the Command Line to Convert a Video (or Audio only FLV) File to another Format
First, obtain the pro version of the software (this is just a registered version).
Now open your command prompt and cd to the directory of the total video converter.
Then enter the command:
“tvc /f inPath.flv /o outPath.wav /pi ini\wav.ini /pn Wav Audio normal quality”
Note : You can convert the flv to many different audio or video formats.
In the above example, /f goes before the file to be converted and /o goes before the output file. Following parameters are the /pi and /pn parameters. Warning: If you leave out either the pi or pn parameter you will get the following error: “Error! The option /pi must be set”
The pi parameter is the path to the ini preference file you want to use. In the Total Video Converter application folder there is a subdirectory called ini in that directory is an .ini file for each format supported. In the example above, we want to use the wav.ini file so we use the parameter /pi ini\wav.ini
To set the pn parameter we must go into the ini folder and open the wav.ini file with our text editor. At the top of the wav.ini text document we see “[Wav Audio normal quality].” Farther down we see the line “[Wav Audio high quality].” The text in between the “[ ]” is used as for pn parameter. In the above example we choose “Wav Audio normal quality” and hence used: /pn Wav Audio normal.
Finally, you can write a PHP, ASP.NET, etc server script to launch this command line application to perform the conversion upon user request from your server.
Labels: Flash Media Server
51 Comments:
thank you for posting this, we're looking everywhere and will give it a go now. best, ciao
If you're not running a Windows server, you can use the nellynomore tool for Linux.
is it possible to convert flash audio on the fly... like as and when the voice is being streamed to server we convert it instantly..?
No, you can do it on a server after the flv file has been recorded.
Great Tutorial!
When I run TVC via commandline, it doesn't close after conversion. It just says "OK!" and requires another keystroke to close. That's very annoying for running it from a script (which needs to know when the conversion is finished). Do you have a solution for that?
Best, Patrick
same problem as patrick.
Any idea to force it to close without CTRL + C ??
Yhanks a lot andrew paul simmons for your help
Thanks again for posting this tutorial!
I seem to be having issues when trying to extract the audio from a FMS recorded .FLV. As you said, the GUI version just crashes when you have an audio-only .FLV but even when I try to perform the conversion using the command line all I get is a non-stop sys-out of "extract flv audio...0%". This has gone on for hours.
Has anyone else encountered this issue at all?
Thanks,
matt
Matt,
I got the same problem.
I think it is because we are using "standard version" but not "pro version".
Dear Sirs, and idea on how to get a "pro version"?
Thanks,
sam
https://www.regsoft.net/regsoft/vieworderpage.php3?productid=74266&pc;=548CA
Andrew, do you have to convert the stream to a file format in order to send it to a server-side application to process for speech recognition? Doesn't it cause a lag due to: record>convert/extract>process>send back to client? I'm doing some research on if/how flash can be utilized for speech recognition, and I would appreciate if you could share what you have experienced so far, in terms of performance, feasibility, etc.
Thanks,
-onur
hello,
can you give any hint how do you go about doing speech recognition.. is sphinx2/4 good enough for this..?
thanks
ash
You also might want to have a look at this: http://www.flashcomguru.com/forum/forum_posts.asp?TID=1842&PN;=1&TPN;=14
I tried and it worked flawlessly.
7c9vAj You have a talant! Write more!
v1WHFJ Hello all!
AvkArv The best blog you have!
bKOBTk Thanks to author.
actually, that's brilliant. Thank you. I'm going to pass that on to a couple of people.
Please write anything else!
Please write anything else!
actually, that's brilliant. Thank you. I'm going to pass that on to a couple of people.
Hello all!
Thanks to author.
actually, that's brilliant. Thank you. I'm going to pass that on to a couple of people.
Good job!
Magnific!
tP0ByQ write more, thanks.
Nice Article.
actually, that's brilliant. Thank you. I'm going to pass that on to a couple of people.
Nice Article.
Magnific!
Good job!
actually, that's brilliant. Thank you. I'm going to pass that on to a couple of people.
Nice Article.
Magnific!
Magnific!
Hello all!
Hello all!
Wonderful blog.
Nice Article.
The gene pool could use a little chlorine.
Good job!
Wonderful blog.
What is a free gift ? Aren't all gifts free?
What is a free gift ? Aren't all gifts free?
Build a watch in 179 easy steps - by C. Forsberg.
Thanks to author.
A flashlight is a case for holding dead batteries.
Calvin, we will not have an anatomically correct snowman!
Ever notice how fast Windows runs? Neither did I.
The gene pool could use a little chlorine.
Hello all!
Post a Comment
<< Home