`
walksing
  • 浏览: 216939 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

采用FFmpeg从视频中提取音频(声音)保存为mp3文件

 
阅读更多
采用FFmpeg从视频中提取音频(声音)保存为mp3文件



采用FFmpeg从视频中提取音频(声音)保存为mp3文件
作者:雨水,日期:2016年1月9日 CSDN博客:http://blog.csdn.net/gobitan

摘要:看到好的视频文件,如果想把其中的音频(声音)提取出来。网络上肯定有不少类似工具,但作为技术人员提到音视频处理,肯定会想到FFmpeg。本文介绍了如何基于FFmpeg从视频中提取音频,然后将音频保存为mp3格式的音频文件。

环境准备:Ubuntu desktop 12.04

第一步:下载mp3的编码库
因为FFmpeg默认只支持mp3的解码,不支持mp3编码。如果想把提取出来的音频保存为mp3格式肯定就需要mp3格式的编码库。因此,想输出mp3文件,需要借助第三方的mp3编码库。这里采用LAME编码库,即Lame Aint an MP3 Encoder(A high quality MP3 encoder). LAME库可以从http://lame.sourceforge.net/下载到。我这里下载的时候选择的版本是3.98,文件名为lame-398.tar.gz,大约1M多。具体版本的选择参考后面编译ffmpeg时候的提示。访下载,可以在这里找到 http://download.csdn.net/detail/gobitan/9397485。

第二步:解压/配置/编译/安装LAME mp3编码库
分别执行如下步骤完成安装:
dennis@ubuntu14:~$ tar zxf lame-398.tar.gz
dennis@ubuntu14:~$ cd lame-398/
dennis@ubuntu14:~/lame-398$ ./configure
dennis@ubuntu14:~/lame-398$ make
dennis@ubuntu14:~/lame-398$ sudo make install

第三步:下载FFmpeg安装包
FFmpeg的安装包可以从http://ffmpeg.org/下载,当前最新的版本为2.8.4,下载后的文件为ffmpeg-2.8.4.tar.bz2,大约8M左右。

第四步:解压/配置/编译/安装FFmpeg
将下载的安装包上传到ubuntu,然后做如下步骤:
(1) 解压
dennis@ubuntu:~$ tar xf ffmpeg-2.8.4.tar.bz2
dennis@ubuntu:~$ cd ffmpeg-2.8.4/
(2) 配置
由于需要加载第三方mp3支持库,因此在配置的时候需要添加一个配置选项--enable-libmp3lame,配置选项的查询可以通过help命令来查看,如下所示:
dennis@ubuntu:~/ffmpeg-2.8.4$ ./configure --help|grep mp3
  --enable-libmp3lame      enable MP3 encoding via libmp3lame [no]
执行如下命令进行配置:
dennis@ubuntu14:~/ffmpeg-2.8.4$ ./configure --enable-libmp3lame --disable-yasm
如果第一步的LAME mp3库没有安装好,就会出现类似如下的错误:
ERROR: libmp3lame >= 3.98.3 not found
注:上面可以提供与ffmpeg匹配的LAME库的版本。
(3) 编译
dennis@ubuntu:~/ffmpeg-2.8.4$ make
(4) 安装
dennis@ubuntu:~/ffmpeg-2.8.4$ sudo make install
(5) 配置共享库
dennis@ubuntu:~$ sudo vi /etc/ld.so.conf
dennis@ubuntu:~$ sudo ldconfig -v
如果缺失这一步后面提取的时候会报如下的错误:
ffmpeg: error while loading shared libraries: libmp3lame.so.0: cannot open shared object file: No such file or directory

第四步:寻找一个可以测试的视频文件
我这里在贝瓦儿歌网下载了小苹果的视频,网址:http://g.beva.com/kan-erge/xiao-ping-guo.html#1802,大约23M。将文件重命名为apple.mp4.

第五步:执行音频提取
dennis@ubuntu:~$ ffmpeg -i apple.mp4 -f mp3 -vn apple.mp3
参数解释:
-i 表示input,即输入文件
-f 表示format,即输出格式
-vn表示vedio not,即输出不包含视频
对比源视频文件和提取得到的音频文件大小,可以看到源视频文件为约23M,而提取出来的音频文件大小为3M。
dennis@ubuntu:~$ ls -lrt
-rw-rw-r--  1 dennis dennis 24118025 Jan  9 02:52 apple.mp4
-rw-rw-r--  1 dennis dennis  3379969 Jan  9 02:54 apple.mp3
dennis@ubuntu:~$

第六步:扩展信息
FFmpeg还提供了很多有用的工具可以查看和处理音视频文件,如:
查看视频文件的音视频编解码格式,视频时长,比特率等,如下:
dennis@ubuntu:~$ ffmpeg -i apple.mp4
ffmpeg version 2.8.4 Copyright (c) 2000-2015 the FFmpeg developers
  built with gcc 4.6 (Ubuntu/Linaro 4.6.3-1ubuntu5)
  configuration: --enable-libmp3lame --disable-yasm
  libavutil      54. 31.100 / 54. 31.100
  libavcodec     56. 60.100 / 56. 60.100
  libavformat    56. 40.101 / 56. 40.101
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 40.101 /  5. 40.101
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  2.101 /  1.  2.101
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'apple.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2mp41
    encoder         : Lavf54.6.100
  Duration: 00:03:31.24, start: 0.000000, bitrate: 913 kb/s
    Stream #0:0(und): Video: mpeg4 (Simple Profile) (mp4v / 0x7634706D), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 780 kb/s, 25 fps, 25 tbr, 25 tbn, 25 tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 127 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
At least one output file must be specified
dennis@ubuntu:~$

参考资料:
1. http://ffmpeg.org/  FFmpeg官网
2. http://lame.sourceforge.net/ LAME mp3编解码官网
3. http://blog.csdn.net/jcwkyl/article/details/5313297  从flv文件中提取音频并存储为mp3格式
4. http://blog.chinaunix.net/uid-11344913-id-3930867.html   编译支持MP3与H264编码的ffmpeg
分享到:
评论

相关推荐

    ffmpeg 提取视频中的音频 转化为mp3

    请确保你已经安装了FFmpeg,并将`input.mp4`替换为你要提取音频的MP4文件的路径,将`output.mp3`替换为你想要保存音频的文件名和格式。 该命令行中的选项含义如下: - `-vn`:指定不编码视频。 - `-acodec libmp3...

    ffmpeg 提取MP4视频中的音频mp3

    在本场景中,我们将重点讨论如何使用FFmpeg从MP4视频中提取音频并将其转换为MP3格式。这对于音频处理、视频编辑或二次开发项目非常有用,比如C#应用或其他编程语言的应用。 首先,我们需要了解FFmpeg的基本结构和...

    基于QT的Ffmpeg抽取音频、视频、格式转换

    在IT领域,尤其是在多媒体处理和开发中,`FFmpeg`是一个不可或缺的工具,它是一个开源的命令行工具,用于处理音频、视频以及流媒体。`FFmpeg`支持各种编码、解码、转换、封装和流化操作。在这个场景中,我们将讨论...

    ffmpeg提取音频播放/解码

    例如,如果我们有一个包含音频和视频的MP4文件,我们想要提取音频到一个单独的MP3文件,可以运行以下命令: ```bash ffmpeg -i input.mp4 -vn -c:a libmp3lame -q:a 2 output.mp3 ``` 这里,`-c:a libmp3lame`指定...

    FFMPEG提取视频中的音频

    在本场景中,我们要探讨的是如何利用FFmpeg从视频文件中提取音频,这一过程通常用于分离音轨以便独立编辑或保存为单独的音频文件。 首先,FFmpeg的核心功能之一就是其强大的解码能力。它能处理大量的视频和音频编码...

    视频文件提取MP3音频文件

    在这个过程中,我们可以利用各种软件工具来实现这一目标,这些工具能够从视频文件中提取出音频流,并将其保存为MP3格式。MP3是一种广泛使用的音频编码格式,它具有较高的音质和相对较小的文件大小,使得文件便于存储...

    从视频中提取音频工具

    1. **桌面软件**:如FFmpeg,这是一款免费且开源的跨平台多媒体处理工具,支持包括FLV在内的多种格式,可以轻松地从视频中提取音频,并将其转换为MP3、AAC或其他常见音频格式。操作相对复杂,适合对技术有一定了解的...

    视频提取音频文件 视频提取音频文件

    视频提取音频文件是一种常见的数字媒体处理操作,它允许我们将音频流从视频文件中分离出来,以便单独使用或编辑。这个过程对于那些想要保留高质量音乐片段、制作播客、语言学习或者进行其他音频处理任务的人来说非常...

    从文件中提取音频工具

    在IT领域,音频提取工具是一种非常实用的软件应用,它能够帮助用户从视频文件或音频文件中单独提取出音频部分,并将其保存为常见的音频格式,如MP3、AAC、WAV或FLAC等。这样的工具在多种场景下都非常有用,比如你...

    ffmpeg测试aac和mp3音频格式的效果

    在提供的压缩包文件中,我们可以看到9个不同的音频文件,分别是同一来源的MP4文件抽取出的不同码率的AAC和MP3音频: 1. music_aac_128.aac、music_aac_96.aac、music_aac_64.aac、music_aac_48.aac:这四个文件是...

    视频转换音频(提取视频中的音乐)

    例如,`ffmpeg -i input.mp4 -vn -acodec copy output.mp3` 这个命令会从`input.mp4`中提取音频,并保存为`output.mp3`, `-vn`表示不包含视频流,`-acodec copy`则表示复制原始音频编码,不做转码,以保持最佳质量...

    java使用FFmpeg合成视频和音频并获取视频中的音频等操作(实例代码详解)

    在这个命令中,我们使用 FFmpeg 从视频文件中抽取音频,并将其编码为 MP3。最后,我们执行 FFmpeg 命令来实现音频的抽取。 Java 使用 FFmpeg 可以实现视频和音频的合成、获取视频中的音频等操作。FFmpeg 提供了丰富...

    android端采用FFmpeg实现音频拼接/剪切/混音与转码

    2. **音频剪切**:从音频文件中提取特定部分。例如,要剪切00:00:10到00:00:30的时间段,命令可能是`ffmpeg -i input.mp3 -ss 00:00:10 -t 00:00:20 output.mp3`。`-ss`参数设置起始时间,`-t`参数定义剪切的时长。 ...

    视频提取音频工具

    它的主要功能是将视频文件中的音频流分离出来,转化为独立的音频文件,如MP3、AAC或其他常见的音频格式。用户无需复杂的操作,只需几步简单步骤,就能完成音频的提取过程。 首先,我们来看看该工具的核心组件。在...

    ffmpeg获取音视频基本信息

    FFmpeg 是一个强大的开源工具,用于处理多媒体文件,包括音频和视频。它提供了丰富的命令行选项,使得用户能够轻松地进行音视频的转换、编辑、提取元数据等操作。在这个主题中,我们将深入探讨如何使用 FFmpeg 获取...

    ffmpeg获取视频时长

    通过上述代码示例,我们可以看到FFmpeg的强大之处在于其能够轻松地从视频文件中提取各种关键信息。这对于后续的视频处理(如编辑、转码等)至关重要。在实际应用中,可以根据需求调整正则表达式,以便更准确地匹配所...

    python脚本实现mp4中的音频提取并保存在原目录

    总结来说,这个Python脚本的主要功能是从指定目录及其子目录下的MP4和FLV视频文件中提取音频,并将音频以MP3格式保存在与视频相同的目录下。通过`pydub`库,我们可以方便地处理音频的提取和格式转换,而`os`和`glob`...

    基于ffmpeg的音频处理Java SDK

    截取音频段是指选择音频文件中的特定部分并将其保存为新的文件。这在需要提取特定时刻的音频,如音乐混音或视频配音时非常实用。通过SDK,开发者可以精确到毫秒地设置开始和结束点,确保截取的音频精确无误。 ### 3...

    php利用ffmpeg提取视频中音频与视频画面的方法详解

    当我们需要从视频中提取音频和视频画面时,通常会使用到以下的FFmpeg命令: - 提取视频: ```bash ffmpeg -i input.mp4 output_video.avi ``` 这里的`-i input.mp4`指定了输入文件,`output_video.avi`是输出的视频...

    FLV 音频视频提取

    然而,有时我们需要从FLV文件中单独提取音频或视频部分,例如为了编辑、转换格式或在不支持FLV的设备上播放。以下是一些关于如何进行FLV音频视频提取的重要知识点: 1. **FLV文件结构**:FLV文件由一系列的tag组成...

Global site tag (gtag.js) - Google Analytics