Я получил набор файлов FLA C (аудио) от друга. Я скопировал их в мою библиотеку Sonos musi c и получил возможность насладиться прекрасным альбомом. К сожалению, Sonos не будет воспроизводить файлы. В результате я узнал ffmpeg
.
Жалоба Sonos с файлами FLA C состояла в том, что она была "закодирована с неподдерживаемой частотой дискретизации" . С закатыванием глаз и тряской головой отмечу, что бесплатный VL C медиаплеер с удовольствием воспроизводит эти файлы, но продукт, за который я заплатил (Sonos), - нет. Но я отвлекся ...
ffprobe
показал, что файлы FLA C содержат как Audio
канал , так и a 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,1 кГц эффективно удаляет все «артефакты дискретизации», которые мы могли слышать. Так или иначе, я узнал, что Sonos будет поддерживать максимальную частоту дискретизации 48 кГц, и это (частота 176,4 кГц) - то, чем Sonos был недоволен. Я использовал ffmpeg
, чтобы «ошарашить» их:
$ ffmpeg -i "/path/to/Myaudio.flac" -sample_fmt s32 -ar 48000 "/path/to/Myaudio48K.flac"
Это сработало - по крайней мере, я получил файл FLA C, который Sonos будет воспроизводить. Однако я также получил что-то вроде предупреждения :
[swscaler @ 0x108e0d000] устаревший формат пикселей, убедитесь, что вы правильно установили диапазон
[ fla c @ 0x7feefd812a00] Очень высокая частота кадров для мультиплексора, который не поддерживает его.
Пожалуйста, рассмотрите возможность указания более низкой частоты кадров, другого мультиплексора или -vsyn c 2
Бит было проведено больше исследований этого ответа , который я не совсем понимаю, а затем в комментарии говорится: "не беспокоиться" - по крайней мере, в части swscaler
предупреждения.
И это (наконец) подводит меня к моим вопросам:
1.a. Какие framerate
, muxer
и другие спецификации делают графический c совместимым с большинством программ, использующих графический c?
1.b. Как мне использовать ffmpeg
для изменения канала Video
для установки этих спецификаций (ссылка Q 1.a.)?
2.a. Как удалить канал Video
из аудиофайла .flac
?
2.b. Как мне добавить канал Video
в файл .flac
?
РЕДАКТИРОВАТЬ:
Я задал вышеупомянутые (4) вопросы после неудачного выполнения sh ' прямого ' преобразования (одна команда ffmpeg
) из FLA C при 176,4 кГц до ALA C (.m4a
) при 48 кГц (максимум поддерживается Sonos). Я рассуждал, что «1075 * инкрементальный » подход через серию преобразований может привести меня туда. Теперь, имея преимущество в ретроспективе, я вижу, что должен был опубликовать свое первоначальное неудачное заклинание прямого обращения ... мы живем и учимся.
При этом принятый ниже ответ соответствует моей конечной цели: преобразовать файл FLA C, кодированный с частотой 176,4 кГц, в ALA C (.m4a
) с частотой 48 кГц, и сохранить обложку / видеоканал .