ffmpeg如何使用音频声像滤镜将立体声转换为单声道

约翰·T

文档看来,这应该可以工作:

ffmpeg -i input.mp4 -af "pan=1c|c0=.5*c0+.5*c1" output.mp4

输出是没有声音的视频。当我做ffprobe时,它说有一个音频单声道轨道,但是只有2kbps。

但是,当我以这种方式进行操作时,它似乎可以正常工作并产生具有单声道的视频:

ffmpeg -i input.mp4 -ac 1 output.mp4

有谁知道第一种方法对我不起作用的原因?

谢谢!

添加控制台输出

ffmpeg输出:

ffmpeg -loglevel verbose -i video.mp4 -af "pan=1c|c0=.5*c0+.5*c1" output.mp4
ffmpeg version 2.6.2 Copyright (c) 2000-2015 the FFmpeg developers
  built with Apple LLVM version 6.0 (clang-600.0.57) (based on LLVM 3.5svn)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/2.6.2 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-libx264 --enable-libmp3lame --enable-libvo-aacenc --enable-libxvid --enable-vda
  libavutil      54. 20.100 / 54. 20.100
  libavcodec     56. 26.100 / 56. 26.100
  libavformat    56. 25.101 / 56. 25.101
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 11.102 /  5. 11.102
  libavresample   2.  1.  0 /  2.  1.  0
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  1.100 /  1.  1.100
  libpostproc    53.  3.100 / 53.  3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'video.mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: isommp42
    creation_time   : 2014-11-27 01:56:02
  Duration: 00:00:24.50, start: 0.000000, bitrate: 374 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 179 kb/s, 25 fps, 25 tbr, 25 tbn, 50 tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 191 kb/s (default)
    Metadata:
      creation_time   : 2014-11-27 01:56:02
      handler_name    : IsoMedia File Produced by Google, 5-11-2011
[graph 0 input from stream 0:0 @ 0x7f9bf2607300] w:1280 h:720 pixfmt:yuv420p tb:1/25 fr:25/1 sar:1/1 sws_param:flags=2
[graph 1 input from stream 0:1 @ 0x7f9bf240d280] tb:1/44100 samplefmt:fltp samplerate:44100 chlayout:0x3
[audio format for output stream 0:1 @ 0x7f9bf240d800] auto-inserting filter 'auto-inserted resampler 0' between the filter 'Parsed_pan_0' and the filter 'audio format for output stream 0:1'
[Parsed_pan_0 @ 0x7f9bf240c280] o0 = 0.5 i0 + 0.5 i1
[auto-inserted resampler 0 @ 0x7f9bf240ccc0] ch:1 chl:1 channels fmt:fltp r:44100Hz -> ch:1 chl:1 channels fmt:s16 r:44100Hz
[libx264 @ 0x7f9bf3812400] using SAR=1/1
[libx264 @ 0x7f9bf3812400] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
[libx264 @ 0x7f9bf3812400] profile High, level 3.1
[libx264 @ 0x7f9bf3812400] 264 - core 144 r2533 c8a773e - H.264/MPEG-4 AVC codec - Copyleft 2003-2015 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=12 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'output.mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: isommp42
    encoder         : Lavf56.25.101
    Stream #0:0(und): Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=-1--1, 25 fps, 12800 tbn, 25 tbc (default)
    Metadata:
      handler_name    : VideoHandler
      encoder         : Lavc56.26.100 libx264
    Stream #0:1(und): Audio: aac (libvo_aacenc) ([64][0][0][0] / 0x0040), 44100 Hz, 1 channels, s16, 128 kb/s (default)
    Metadata:
      creation_time   : 2014-11-27 01:56:02
      handler_name    : IsoMedia File Produced by Google, 5-11-2011
      encoder         : Lavc56.26.100 libvo_aacenc
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
  Stream #0:1 -> #0:1 (aac (native) -> aac (libvo_aacenc))
Press [q] to stop, [?] for help
No more output streams to write to, finishing.e=00:00:22.90 bitrate= 139.9kbits/s    
frame=  612 fps=266 q=-1.0 Lsize=     491kB time=00:00:24.50 bitrate= 164.1kbits/s    
video:86kB audio:383kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 4.547780%
Input file #0 (video.mp4):
  Input stream #0:0 (video): 612 packets read (548636 bytes); 612 frames decoded; 
  Input stream #0:1 (audio): 1055 packets read (587929 bytes); 1055 frames decoded (1080320 samples); 
  Total: 1667 packets (1136565 bytes) demuxed
Output file #0 (output.mp4):
  Output stream #0:0 (video): 612 frames encoded; 612 packets muxed (88265 bytes); 
  Output stream #0:1 (audio): 1055 frames encoded (1080320 samples); 1057 packets muxed (392695 bytes); 
  Total: 1669 packets (480960 bytes) muxed
[libx264 @ 0x7f9bf3812400] frame I:4     Avg QP: 7.20  size:   912
[libx264 @ 0x7f9bf3812400] frame P:173   Avg QP:15.86  size:   328
[libx264 @ 0x7f9bf3812400] frame B:435   Avg QP:15.39  size:    63
[libx264 @ 0x7f9bf3812400] consecutive B-frames:  2.3%  7.5%  3.9% 86.3%
[libx264 @ 0x7f9bf3812400] mb I  I16..4: 87.9% 11.2%  0.9%
[libx264 @ 0x7f9bf3812400] mb P  I16..4:  1.7%  0.0%  0.1%  P16..4:  0.4%  0.1%  0.1%  0.0%  0.0%    skip:97.5%
[libx264 @ 0x7f9bf3812400] mb B  I16..4:  0.0%  0.0%  0.0%  B16..8:  0.2%  0.0%  0.0%  direct: 0.1%  skip:99.7%  L0:49.5% L1:44.6% BI: 5.9%
[libx264 @ 0x7f9bf3812400] 8x8 transform intra:7.5% inter:43.5%
[libx264 @ 0x7f9bf3812400] coded y,uvDC,uvAC intra: 2.6% 0.0% 0.0% inter: 0.1% 0.0% 0.0%
[libx264 @ 0x7f9bf3812400] i16 v,h,dc,p: 98%  1%  1%  0%
[libx264 @ 0x7f9bf3812400] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 21%  2% 75%  1%  0%  0%  0%  0%  1%
[libx264 @ 0x7f9bf3812400] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 40% 21% 19%  3%  3%  4%  3%  3%  3%
[libx264 @ 0x7f9bf3812400] i8c dc,h,v,p: 100%  0%  0%  0%
[libx264 @ 0x7f9bf3812400] Weighted P-Frames: Y:86.7% UV:5.2%
[libx264 @ 0x7f9bf3812400] ref P L0: 71.5% 13.0% 10.1%  3.3%  2.1%
[libx264 @ 0x7f9bf3812400] ref B L0: 80.1% 12.5%  7.4%
[libx264 @ 0x7f9bf3812400] ref B L1: 97.1%  2.9%
[libx264 @ 0x7f9bf3812400] kb/s:28.62

ffprobe输出:

ffprobe output.mp4 
ffprobe version 2.6.2 Copyright (c) 2007-2015 the FFmpeg developers
  built with Apple LLVM version 6.0 (clang-600.0.57) (based on LLVM 3.5svn)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/2.6.2 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-libx264 --enable-libmp3lame --enable-libvo-aacenc --enable-libxvid --enable-vda
  libavutil      54. 20.100 / 54. 20.100
  libavcodec     56. 26.100 / 56. 26.100
  libavformat    56. 25.101 / 56. 25.101
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 11.102 /  5. 11.102
  libavresample   2.  1.  0 /  2.  1.  0
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  1.100 /  1.  1.100
  libpostproc    53.  3.100 / 53.  3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'output.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf56.25.101
  Duration: 00:00:24.53, start: 0.036281, bitrate: 163 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 28 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 128 kb/s (default)
    Metadata:
      handler_name    : SoundHandler

解决方法是使用mono1代替1c

ffmpeg -i video.mp4 -af "pan=mono|c0=.5*c0+.5*c1" -c:v copy output.mp4

我不确定为什么文档中的示例无法按预期运行,或者它是否为回归模型。

我添加是-c:v copy为了让您更喜欢流式复制而不是重新编码视频。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用Lame将mp3从单声道转换为立体声

来自分类Dev

当使用单声道源以立体声录制视频时,如何重新编码视频的音频?

来自分类Dev

将单声道WAV批量转换为立体声逐字记录

来自分类Dev

将16位立体声转换为16位单声道声音

来自分类Dev

将立体声音频转换为AVI文件中的单声道

来自分类Dev

ffmpeg:将两个单声道现场音频流组合为单个立体声流

来自分类Dev

audioSprite / ffmpeg中的单声道音频具有与立体声相同的比特率

来自分类Dev

将立体声转换成单声道输出以规范不平衡声道?

来自分类Dev

C#将短数组从单声道WAV文件转换为短数组以写入立体声WAV

来自分类Dev

C#将短数组从单声道WAV文件转换为短数组以写入立体声WAV

来自分类Dev

如何使Media Player Classic HC以单声道而不是立体声的形式播放音频?

来自分类Dev

使用ffmpeg将flac转换为“立体声mp3”而不是“联合立体声”

来自分类Dev

ffmpeg将MXF视频的多个(N)单声道音频通道合并到MP4视频的多个(M)立体声通道

来自分类Dev

将立体声USB音频接口线路分割成两个单声道设备

来自分类Dev

将立体声USB音频接口线路分割成两个单声道设备

来自分类Dev

当管道输出与写入文件时,ffmpeg 立体声到单声道转换会产生不同的结果

来自分类Dev

iOS模拟器中的Soundflower音频为单声道而非立体声

来自分类Dev

在立体声蓝牙扬声器上赢8个单声道蓝牙音频

来自分类Dev

如何将2个音轨> 1个立体声与声道数量未知混音。ffmpeg

来自分类Dev

ffmpeg实时流畅的串流立体声至2个单声道

来自分类Dev

ffmpeg 检测立体声通道是否实际上是单声道

来自分类Dev

尝试使用sox或ffmpeg将2声道声音文件转换为单声道时出错

来自分类Dev

添加到单声道信号以执行立体声

来自分类Dev

iOS将立体声mp3拆分为单声道AAC

来自分类Dev

脚本运行 sox 将多个单声道组合成立体声

来自分类Dev

Web Audio API 将单声道拆分为立体声

来自分类Dev

如何在Mac OS X上将立体声输出缩混为单声道

来自分类Dev

如何让pulseaudio将我的USB耳机识别为立体声而不是单声道?

来自分类Dev

Ubuntu上的蓝牙耳机使用单声道+麦克风代替立体声

Related 相关文章

  1. 1

    使用Lame将mp3从单声道转换为立体声

  2. 2

    当使用单声道源以立体声录制视频时,如何重新编码视频的音频?

  3. 3

    将单声道WAV批量转换为立体声逐字记录

  4. 4

    将16位立体声转换为16位单声道声音

  5. 5

    将立体声音频转换为AVI文件中的单声道

  6. 6

    ffmpeg:将两个单声道现场音频流组合为单个立体声流

  7. 7

    audioSprite / ffmpeg中的单声道音频具有与立体声相同的比特率

  8. 8

    将立体声转换成单声道输出以规范不平衡声道?

  9. 9

    C#将短数组从单声道WAV文件转换为短数组以写入立体声WAV

  10. 10

    C#将短数组从单声道WAV文件转换为短数组以写入立体声WAV

  11. 11

    如何使Media Player Classic HC以单声道而不是立体声的形式播放音频?

  12. 12

    使用ffmpeg将flac转换为“立体声mp3”而不是“联合立体声”

  13. 13

    ffmpeg将MXF视频的多个(N)单声道音频通道合并到MP4视频的多个(M)立体声通道

  14. 14

    将立体声USB音频接口线路分割成两个单声道设备

  15. 15

    将立体声USB音频接口线路分割成两个单声道设备

  16. 16

    当管道输出与写入文件时,ffmpeg 立体声到单声道转换会产生不同的结果

  17. 17

    iOS模拟器中的Soundflower音频为单声道而非立体声

  18. 18

    在立体声蓝牙扬声器上赢8个单声道蓝牙音频

  19. 19

    如何将2个音轨> 1个立体声与声道数量未知混音。ffmpeg

  20. 20

    ffmpeg实时流畅的串流立体声至2个单声道

  21. 21

    ffmpeg 检测立体声通道是否实际上是单声道

  22. 22

    尝试使用sox或ffmpeg将2声道声音文件转换为单声道时出错

  23. 23

    添加到单声道信号以执行立体声

  24. 24

    iOS将立体声mp3拆分为单声道AAC

  25. 25

    脚本运行 sox 将多个单声道组合成立体声

  26. 26

    Web Audio API 将单声道拆分为立体声

  27. 27

    如何在Mac OS X上将立体声输出缩混为单声道

  28. 28

    如何让pulseaudio将我的USB耳机识别为立体声而不是单声道?

  29. 29

    Ubuntu上的蓝牙耳机使用单声道+麦克风代替立体声

热门标签

归档