V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
gtheone1
V2EX  ›  FFmpeg

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

  •  
  •   gtheone1 · 2020-08-26 11:37:56 +08:00 · 2958 次点击
    这是一个创建于 1545 天前的主题,其中的信息可能已经有所发展或是发生改变。
    试了一下 ffmpeg 显示错误,有人试试吗
    https://ws28.cn/f/3ci7o4lgyu5
    15 条回复    2020-08-27 13:29:49 +08:00
    jedrek
        1
    jedrek  
       2020-08-26 11:51:32 +08:00   ❤️ 1
    xld
    Luna17k
        2
    Luna17k  
       2020-08-26 11:54:47 +08:00   ❤️ 1
    goldwave
    gtheone1
        3
    gtheone1  
    OP
       2020-08-26 12:00:21 +08:00
    @Luna17k 搞定了 perfect !
    hahasong
        4
    hahasong  
       2020-08-26 12:23:43 +08:00 via iPhone
    foobar2000
    celeron533
        5
    celeron533  
       2020-08-26 12:26:52 +08:00   ❤️ 1
    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
        6
    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
        7
    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
        8
    Xusually  
       2020-08-26 12:32:20 +08:00
    啊,楼主忽略上面的 2 贴,我没看是转双声道。。。。5L 有人也贴了可以了。
    realpg
        9
    realpg  
       2020-08-26 12:35:15 +08:00
    好奇 5 声道转 2 声道的无损的概念


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

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


    我选择用 daw 来干这事
    msg7086
        11
    msg7086  
       2020-08-26 12:40:53 +08:00 via Android   ❤️ 1
    神 TM 合并掉 4 个声道的无损。
    gtheone1
        12
    gtheone1  
    OP
       2020-08-26 12:49:53 +08:00
    @realpg
    @GeruzoniAnsasu
    我的做法是
    https://i.loli.net/2020/08/26/afJ4di5mcN1MKhH.jpg
    双声道是做到了,但看你们这么说突然有点纠结了。。。不知是不是无损
    levn
        13
    levn  
       2020-08-26 13:30:46 +08:00
    无损……那你能转回来吗
    idealhs
        14
    idealhs  
       2020-08-26 13:49:46 +08:00
    不可能啊,6 条音轨变成 2 条音轨,不存在无损这个说法。你可以舍弃 4 条音轨,或者是转换成虚拟环绕声。你认为的无损可能只是指有损压缩无损压缩的无损。
    celeron533
        15
    celeron533  
       2020-08-27 13:29:49 +08:00
    5L 的链接里有 ffmpeg 默认的声道映射以及其权重
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2710 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 15:28 · PVG 23:28 · LAX 07:28 · JFK 10:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.