5.1 声道的 wav 怎样无损转换成双声道的 flac

2020-08-26 11:37:56 +08:00
 gtheone1
试了一下 ffmpeg 显示错误,有人试试吗
https://ws28.cn/f/3ci7o4lgyu5
2984 次点击
所在节点    FFmpeg
15 条回复
jedrek
2020-08-26 11:51:32 +08:00
xld
Luna17k
2020-08-26 11:54:47 +08:00
goldwave
gtheone1
2020-08-26 12:00:21 +08:00
@Luna17k 搞定了 perfect !
hahasong
2020-08-26 12:23:43 +08:00
foobar2000
celeron533
2020-08-26 12:26:52 +08:00
https://trac.ffmpeg.org/wiki/AudioChannelManipulation#a5.1stereo

ffmpeg -i test.wav -ac 2 out.flac

文件结果:
```
General
Complete name : C:\Users\********\Desktop\ffmpeg wave\out.flac
Format : FLAC
Format/Info : Free Lossless Audio Codec
File size : 41.2 MiB
Duration : 4 min 23 s
Overall bit rate mode : Variable
Overall bit rate : 1 313 kb/s
Writing application : Lavf58.29.100

Audio
Format : FLAC
Format/Info : Free Lossless Audio Codec
Duration : 4 min 23 s
Bit rate mode : Variable
Bit rate : 1 313 kb/s
Channel(s) : 2 channels
Channel layout : L R
Sampling rate : 48.0 kHz
Bit depth : 24 bits
Compression mode : Lossless
Stream size : 41.2 MiB (100%)
Writing library : Lavf58.29.100


```
Xusually
2020-08-26 12:29:50 +08:00
额。。。我还真测试了一下,没问题呀,不报错,转换后的 flac 正常播放。
ffmpeg -i wav-test.wav -af aformat=s16:44100 wav-test-16bit-44dot1khz.flac
Xusually
2020-08-26 12:30:31 +08:00
@Xusually 接上条贴 log
ffmpeg version 4.3.1 Copyright (c) 2000-2020 the FFmpeg developers
built with Apple clang version 11.0.3 (clang-1103.0.32.62)
configuration: --prefix=/usr/local/Cellar/ffmpeg/4.3.1 --enable-shared --enable-pthreads --enable-version3 --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libbluray --enable-libdav1d --enable-libmp3lame --enable-libopus --enable-librav1e --enable-librubberband --enable-libsnappy --enable-libsrt --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librtmp --enable-libspeex --enable-libsoxr --enable-videotoolbox --disable-libjack --disable-indev=jack
libavutil 56. 51.100 / 56. 51.100
libavcodec 58. 91.100 / 58. 91.100
libavformat 58. 45.100 / 58. 45.100
libavdevice 58. 10.100 / 58. 10.100
libavfilter 7. 85.100 / 7. 85.100
libavresample 4. 0. 0 / 4. 0. 0
libswscale 5. 7.100 / 5. 7.100
libswresample 3. 7.100 / 3. 7.100
libpostproc 55. 7.100 / 55. 7.100
Input #0, wav, from 'wav-test.wav':
Metadata:
encoder : Lavf58.29.100
Duration: 00:04:23.33, bitrate: 640 kb/s
Stream #0:0: Audio: ac3 ([0] [0][0] / 0x2000), 48000 Hz, 5.1(side), fltp, 640 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (ac3 (native) -> flac (native))
Press [q] to stop, [?] for help
Output #0, flac, to 'wav-test-16bit-44dot1khz.flac':
Metadata:
encoder : Lavf58.45.100
Stream #0:0: Audio: flac, 44100 Hz, 5.1(side), s16, 128 kb/s
Metadata:
encoder : Lavc58.91.100 flac
size= 51556kB time=00:04:23.32 bitrate=1603.9kbits/s speed=95.2x
Xusually
2020-08-26 12:32:20 +08:00
啊,楼主忽略上面的 2 贴,我没看是转双声道。。。。5L 有人也贴了可以了。
realpg
2020-08-26 12:35:15 +08:00
好奇 5 声道转 2 声道的无损的概念


是舍弃 4 个声道直接无损转换

还是把其他四个声道按照一定的算法合并进主声道?
GeruzoniAnsasu
2020-08-26 12:38:51 +08:00
5.1 。。。怎么转双声道?这不是还得看想要什么样的后处理吗……虚拟杜比?只保留前左右?要不要混合重低音和中声道?


我选择用 daw 来干这事
msg7086
2020-08-26 12:40:53 +08:00
神 TM 合并掉 4 个声道的无损。
gtheone1
2020-08-26 12:49:53 +08:00
@realpg
@GeruzoniAnsasu
我的做法是
https://i.loli.net/2020/08/26/afJ4di5mcN1MKhH.jpg
双声道是做到了,但看你们这么说突然有点纠结了。。。不知是不是无损
levn
2020-08-26 13:30:46 +08:00
无损……那你能转回来吗
idealhs
2020-08-26 13:49:46 +08:00
不可能啊,6 条音轨变成 2 条音轨,不存在无损这个说法。你可以舍弃 4 条音轨,或者是转换成虚拟环绕声。你认为的无损可能只是指有损压缩无损压缩的无损。
celeron533
2020-08-27 13:29:49 +08:00
5L 的链接里有 ffmpeg 默认的声道映射以及其权重

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/701521

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX