gpt4 book ai didi

audio - 使用 ffmpeg 处理 FLAC 音频文件中的问题

转载 作者:行者123 更新时间:2023-12-02 22:48:20 25 4
gpt4 key购买 nike

我从 friend 那里得到了一组 FLAC(音频)文件。我将它们复制到我的Sonos音乐库,并开始享受一张不错的专辑。不幸的是,Sonos 不会播放这些文件。结果我开始了解 ffmpeg .

Sonos 对 FLAC 文件的提示是它“以不受支持的采样率编码”。我翻白眼摇头,注意到免费的VLC media player愉快地播放这些文件,但我支付的产品(Sonos) - 没有。但我离题了...
ffprobe显示 FLAC 文件包含两个 Audio channel 一个 Video channel :

$ ffprobe -hide_banner  -show_streams "/path/to/Myaudio.flac"


Duration: 00:02:23.17, start: 0.000000, bitrate: 6176 kb/s
Stream #0:0: Audio: flac, 176400 Hz, stereo, s32 (24 bit)
Stream #0:1: Video: mjpeg (Progressive), yuvj444p(pc, bt470bg/unknown/unknown), 450x446 [SAR 72:72 DAR 225:223], 90k tbr, 90k tbn, 90k tbc (attached pic)
Metadata:
comment : Cover (front)

凉爽的!我 猜测 这就是一些音频播放器在播放歌曲时能够显示“专辑插图”的方式?还要注意 Audio流报告在 176400 Hz !显然我失去了联系;我认为 44.1khz 的采样率有效地消除了我们能听到的所有“采样伪影”。无论如何,我了解到 Sonos 将支持最大 48kHz 的采样率,而这(176.4kHz 的采样率)是 Sonos 不满意的地方。我用了 ffmpeg为他们“ NumPy ”:
$ ffmpeg -i "/path/to/Myaudio.flac" -sample_fmt s32 -ar 48000 "/path/to/Myaudio48K.flac"

这似乎奏效了——至少我得到了一个 Sonos 可以播放的 FLAC 文件。但是,我也收到了某种警告:

[swscaler @ 0x108e0d000] deprecated pixel format used, make sure you did set range correctly
[flac @ 0x7feefd812a00] Frame rate very high for a muxer not efficiently supporting it.
Please consider specifying a lower framerate, a different muxer or -vsync 2



更多的研究出现了 this answer我不太明白,然后在评论中说,“不用担心” - 至少在 swscaler警告的一部分。

这(最终)让我想到了我的问题:

1.a.什么 framerate , muxer & 其他规范使图形与大多数使用该图形的程序兼容?

1.b。我应该如何使用 ffmpeg修改 Video channel 来设置这些规范(引用 Q 1.a.)?

2.a.如何删除 Video来自 .flac 的 channel 音频文件?

2.b。我如何 添加一个 Video进入 .flac文件?

编辑:

在未能完成“ ”后,我问了上述(4)个问题。直接 ' 从 176.4 kHz 的 FLAC 转换(单个 ffmpeg 命令)到 48 kHz 的 ALAC( .m4a)(Sonos 支持最大)。我推断' 增量 ' 通过一系列转换的方法可能会让我到达那里。凭借事后诸葛亮的优势,我现在看到我应该发布我最初失败的直接转换咒语......我们生活和学习。

也就是说,下面接受的答案符合我对 的最终目标。将 176.4kHz 编码的 FLAC 文件转换为 48kHz 的 ALAC (.m4a),并保留封面艺术/视频 channel .

最佳答案

什么帧率、复用器和其他规范使图形与大多数使用该图形的程序兼容?

封面艺术只是一个单帧,因此在这种情况下帧率没有相关性。但是,您不想要视频流,它必须保持单个图像,所以 -vsync 0应该添加。 Muxer 只是媒体文件处理中使用的打包程序的特定术语。它由格式的选择决定,例如FLAC,WAV..等。重要的是封面艺术的编解码器;通常,它是 PNG 或 JPEG。对于 FLAC,PNG 是默认编解码器。

如何从 .flac 音频文件中删除视频 channel

ffmpeg -i "/path/to/Myaudio.flac" -vn -c copy "/path/to/Myaudio48K.flac"

(所有这些都是跳过输入中的任何视频并复制其他所有内容)

如何将视频 channel 添加到 .flac 文件中?

要将封面艺术添加到纯音频格式,如 MP3、FLAC..等,视频流必须具有附加图片的配置。所以,
ffmpeg -i "/path/to/Myaudio.flac" -i coverimage -sample_fmt s32 -ar 48000 -disposition:v attached_pic -vsync 0 "/path/to/Myaudio48K.flac"

要直接转换为 ALAC,请使用
ffmpeg -i "/path/to/Myaudio.flac" -i coverimage -ar 48000 -c:a alac -disposition:v attached_pic -vsync 0 -c:v png "/path/to/Myaudio48K.m4a"

关于audio - 使用 ffmpeg 处理 FLAC 音频文件中的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59725816/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com