为啥立体声 mp3 文件在使用 ffmpeg 从 mp4 转换时会丢失一个通道?
Posted
技术标签:
【中文标题】为啥立体声 mp3 文件在使用 ffmpeg 从 mp4 转换时会丢失一个通道?【英文标题】:Why the stereo mp3 file lost a channel when converted from mp4 with ffmpeg?为什么立体声 mp3 文件在使用 ffmpeg 从 mp4 转换时会丢失一个通道? 【发布时间】:2020-11-11 09:21:23 【问题描述】:我正在关注本教程https://hackernoon.com/audio-handling-basics-how-to-process-audio-files-using-python-cli-jo283u3y,当我从 mp3 文件中提取数据时,它只是一个一维数组,而来自 wav 文件的数据是二维的。我用 ffmpeg 从同一个 mp4 文件转换它们。
# read WAV file using scipy.io.wavfile
fs_wav, data_wav = wavfile.read("data/music_8k.wav")
# read MP3 file using pydub
audiofile = Audiosegment.from_file("data/music_8k.mp3")
data_mp3 = np.array(audiofile.get_array_of_samples())
fs_mp3 = audiofile.frame_rate
print(data_wav.shape) #(9835520, 2)
print(fs_wav) #44100
print(data_mp3.shape) #(19671040,)
print(fs_mp3) #44100
当我检查 mp3 文件的信息时,它显示 Stereo,但 data_mp3
只是一维数组这一事实是否意味着它实际上是单声道的?转换过程中是否丢失了一个频道?如果我想确认这两个文件具有相同的信号,我应该如何重塑数据?
【问题讨论】:
【参考方案1】:但是 data_mp3 只是一维数组这一事实是否意味着它实际上是单维数组?
没有。
如果我想确认这两个文件具有相同的信号,我应该如何重塑数据?
将其解码回 wav
【讨论】:
以上是关于为啥立体声 mp3 文件在使用 ffmpeg 从 mp4 转换时会丢失一个通道?的主要内容,如果未能解决你的问题,请参考以下文章
FFmpeg 可以“编码”为 mp3,但不接受“输入”mp3 [关闭]