我从朋友那里得到了一套FLAC(音频)文件。我将它们复制到我的Sonos音乐库中,并开始欣赏一张精美的专辑。不幸的是,Sonos无法播放文件。结果我逐渐知道了ffmpeg
。
Sonos对FLAC文件的抱怨是它“以不受支持的采样率编码”。我睁着双眼摇着摇头,注意到免费的VLC媒体播放器愉快地播放了这些文件,但是我付钱购买的产品(Sonos)却没有。但是我离题了...
ffprobe
揭示了FLAC文件同时包含一个Audio
通道和一个Video
通道:
$ 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
为他们“笨拙”:
$ ffmpeg -i "/path/to/Myaudio.flac" -sample_fmt s32 -ar 48000 "/path/to/Myaudio48K.flac"
这似乎可行-至少我得到了Sonos可以播放的FLAC文件。但是,我也得到了某种警告:
[swscaler @ 0x108e0d000]使用了不赞成使用的像素格式,请确保您正确设置了范围
[flac @ 0x7feefd812a00]对于没有有效支持它的复用器,帧速率非常高。
请考虑指定较低的帧率,不同的混合器或-vsync 2
多一点的研究打开了这个答案我不太了解,然后评论说,“不要担心” -至少在WRTswscaler
警告的一部分。
最后,这使我想到了以下问题:
1.a. 什么framerate
,muxer
和其他规格使其与大多数使用的图形程序的图形兼容?
1.b. 我应该如何使用ffmpeg
修改Video
通道来设置这些规格(参考问题1.a.)?
2.a. 如何Video
从.flac
音频文件中删除频道?
2.b. 如何添加一个Video
通道进入一个.flac
文件?
在无法完成从176.4 kHz的FLAC到48 kHz的ALAC()的“直接”转换(单个ffmpeg
命令).m4a
(Sonos支持的最大值)之后,我问了上述(4)问题。我认为通过一系列转换采取“渐进式”方法可能会帮助我实现目标。借助事后观察的优势,我现在看到我应该发布我最初失败的直接转换咒语...我们生活和学习。
就是说,下面接受的答案符合我的最终目标,即将将176.4kHz编码的FLAC文件转换.m4a
为48kHz的ALAC(),并保留封面/视频频道。
什么帧速率,复用器和其他规格使图形与使用该图形的大多数程序兼容?
封面仅是一帧,因此在这种情况下帧速率不相关。但是,您不希望视频流,它必须保留单个图像,因此-vsync 0
应添加它。Muxer只是打包程序在媒体文件处理中使用的特定术语。由格式选择决定,例如FLAC,WAV..etc。重要的是封面的编解码器。通常是PNG或JPEG。对于FLAC,PNG是默认的编解码器。
如何从.flac音频文件中删除视频通道
ffmpeg -i "/path/to/Myaudio.flac" -vn -c copy "/path/to/Myaudio48K.flac"
(所有这些操作就是跳过输入中的任何视频并复制其他所有内容)
如何将视频频道添加到.flac文件?
为了将封面艺术添加到纯音频格式(如MP3,FLAC..etc)中,视频流必须具有附加图片的配置。所以,
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"
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句