ffmpeg 0.5 flv to wav转换创建wav文件,其他程序无法打开

ffmpeg 0.5 flv to wav转换创建wav文件,其他程序无法打开

问题描述:

我正在使用以下命令将FLV文件转换为音频文件,以便将其转换为文本程序的语音文件。ffmpeg 0.5 flv to wav转换创建wav文件,其他程序无法打开

cat ./jon2.flv | ffmpeg -i - -vn -acodec pcm_s16le -ar 16000 -ac 1 -f wav - | cat - > jon2.wav 

猫的在那里为调试目的的最终用途将是将管FLV到FFmpeg的标准输入和标准输出去朱利安正在运行的程序。

产生的波形文件通过“文件”作为认定:

jon3.wav: RIFF (little-endian) data, WAVE audio, Microsoft PCM, 16 bit, mono 16000 Hz 

VLC(基于ffmpeg)来播放该文件,但没有其他工具将打开/看到的数据。他们显示空的WAV文件或不会打开/播放。例如CS4的Sound Booth。

有没有其他人有类似的问题? Julian需要16000 Hz的16位单声道wav文件。 Julian看起来似乎读取了文件,但似乎没有通过整个文件(可能不相关)。

谢谢,

-rr

的问题是可能的,与RIFF,字节4至7是文件长度(字节)存储其中,在它正被写入的时候,不但是已知。 VLC很可能会忽略RIFF头部的价值,允许它在那里玩,但不能在其他地方玩。

我发现的唯一解决方案是修改目标以忽略来自RIFF头部的长度。

波的结构文件头这里描述: http://www.sonicspot.com/guide/wavefiles.html

尝试具有FFMPEG上输入/输出的文件直接操作,而不是管道数据移入和移出的ffmpeg:

ffmpeg -i INPUT_FILE.FLV -vn -acodec pcm_s16le -ar 16000 -ac 1 -f wav OUTPUT_FILE.WAV

问题可能在于,因为您正在为一个流提供ffmpeg并要求它写入一个流,它要么不知道输入流的长度,要么更可能返回并重写头中的长度数据的输出文件。