ffplay думает, что поток 5.1 (сторона) а не 5.1

Когда я пытаюсь играть свои 5,1 flac файлов с ffplay, он автоматически обнаруживает поток таким образом:

  Duration: xx:xx:xx.xx, start: 0.000000, bitrate: xxxx kb/s
    Stream #0:0: Audio: flac, 48000 Hz, 5.1(side), s32 (24 bit)

Как Вы видите, это обнаруживает файлы как наличие расположения канала 5.1 (сторона). Это делает динамики стороны (который должен действительно быть задними динамиками), очень тихий. Если я добавляю усиление к тем каналам, они искажают. Я просто хочу, чтобы они играли правильно, с другими 5,1 расположениями канала в ffplay документации, описанной как FL, FR, C, LFE, RL, RR.

Вот выборка из ffplay документации:

Standard channel layout compositions can be specified by using the following identifiers:

‘5.1’

    FL+FR+FC+LFE+BL+BR

‘5.1(side)’

    FL+FR+FC+LFE+SL+SR 

Обе из вышеупомянутых разметок имеют 6 каналов. Таким образом, как я могу указать, что хочу использовать '5.1' и не '5.1 (сторона)'?

Это для этого расположения, аудио было смешано, и именно это расположение, я настроил с динамиками.

Как я могу достигнуть этого?

2
задан 31 July 2018 в 22:12

2 ответа

Можно использовать фильтр channelmap:

ffmpeg -i input.flac -af "channelmap=channel_layout=5.1" output.flac

Или каналы перекарты после воспроизведения, если Вы не хотите повторно кодировать:

ffplay -af "channelmap=channel_layout=5.1" input.flac
mpv --audio-channels=5.1 input.flac
3
ответ дан 2 December 2019 в 01:42

То, что я сделал, было взятием Ваши 5.1 (сторона) flac файл, и разделение в 6 .wav файлов с ffmpeg (должна быть относительность недавний ffmpeg.

Таким образом для запуска, в пустой папке поместило .flac, затем cd'd к той папке в терминале. Эта команда разделит к .wav's. (использующий voltest.flac как пример

ffmpeg -i ./voltest.flac -filter_complex "channelsplit=channel_layout=5.1[FL][FR][FC][LFE][SL][SR]" -map "[FL]" front_left.wav -map "[FR]" front_right.wav -map "[FC]" front_center.wav -map "[LFE]" lfe.wav -map "[SL]" back_left.wav -map "[SR]" back_right.wav

После разделения затем повторно закодированного назад к flac, использующему эту команду

ffmpeg -i front_left.wav -i front_right.wav -i front_center.wav -i lfe.wav -i back_left.wav -i back_right.wav -filter_complex "[0:a][1:a][2:a][3:a][4:a][5:a]amerge=inputs=6[aout]" -map "[aout]" output.flac

Таким образом, output.flac будет отображен, как Вы требовали. Вы могли, вероятно, создать сценарий, чтобы сделать много .flacs сразу назад к имени orig. с небольшим экспериментированием..

3
ответ дан 2 December 2019 в 01:42

Другие вопросы по тегам:

Похожие вопросы: