ffmpeg提取视频文件中的多轨音频

Posted 老樊Lu码

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ffmpeg提取视频文件中的多轨音频相关的知识,希望对你有一定的参考价值。

       在视频编辑中,我们需要对视频中的音频进行单独处理,这个时候,就需要我们对视频文件进行音频提取。

1.音频文件提取,先查看视频文件信息:

#ffmpeg -i "4K原码-08101136.ts"
ffmpeg version 4.1.3 Copyright (c) 2000-2019 the FFmpeg developers
  built with gcc 8.3.1 (GCC) 20190414
  configuration: --disable-static --enable-shared --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth
  libavutil      56. 22.100 / 56. 22.100
  libavcodec     58. 35.100 / 58. 35.100
  libavformat    58. 20.100 / 58. 20.100
  libavdevice    58.  5.100 / 58.  5.100
  libavfilter     7. 40.101 /  7. 40.101
  libswscale      5.  3.100 /  5.  3.100
  libswresample   3.  3.100 /  3.  3.100
  libpostproc    55.  3.100 / 55.  3.100
Input #0, mpegts, from '4K鍘熺爜-08101136.ts':
  Duration: 00:05:01.06, start: 22486.526889, bitrate: 37876 kb/s
  Program 701
    Metadata:
      service_name    : CCTV 4K
      service_provider: CCTV
    Stream #0:0[0x200]: Video: hevc (Main 10) ([36][0][0][0] / 0x0024), yuv420p10le(tv, bt2020nc/bt2020/arib-std-b67), 3840x2160 [SAR 1:1 DAR 16:9], 50 fps, 50 tbr, 90k tbn, 50 tbc
    Stream #0:2[0x28a](eng): Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 448 kb/s

      分析可以看出,该视频的Audio Stream有2个,分别获取这两个audio音轨的命令是:

ffmpeg -i 4K原码-08101136.ts -map 0:1 -b:a 64k -f mp3 -vn a.1.mp3   
ffmpeg -i 4K原码-08101136.ts -map 0:2 -b:a 64k -f mp3 -vn a.2.mp3

参数解释:

-i表示input,即输入文件

-f表示format,即输出格式

-vn表示video not,即输出不包含视频

-b:a 64k为比特率,默认为128K,这里压缩以下,采用64K

顺时针旋转画面90度
ffmpeg -i test.mp4 -vf "transpose=1" out.mp4
逆时针旋转画面90度
ffmpeg -i test.mp4 -vf "transpose=2" out.mp4
顺时针旋转画面90度再水平翻转
ffmpeg -i test.mp4 -vf "transpose=3" out.mp4
逆时针旋转画面90度水平翻转
ffmpeg -i test.mp4 -vf "transpose=0" out.mp4
水平翻转视频画面
ffmpeg -i test.mp4 -vf hflip out.mp4
垂直翻转视频画面
ffmpeg -i test.mp4 -vf vflip out.mp4

以上是关于ffmpeg提取视频文件中的多轨音频的主要内容,如果未能解决你的问题,请参考以下文章

使用 ffmpeg 和 python 将视频中的所有音频流提取到单独的音频文件中

Python 批量提取视频中的音频

Python3 批量提取视频中的音频

Python3 批量提取视频中的音频

Python3 批量提取视频中的音频

ffmpeg_拼接并提取flv视频文件中的音频生成mp3文件