python3 如何存储ffmpeg获取到的python处理音频文件件信息,它是打印出来的。

如果事与愿违,就相信上天一定另有安排;所有失去的,都会以另外一种方式归来。相信自己,相信时间不会亏待你!...
ffmpeg 提取视频文件中的音频
// 提取视频文件8.mp4 中的音频, 并将其写入到test.wav文件中
ffmpeg -i 8.mp4 -f s16le -ar 16000 test.wav
8.mp4: 视频文件
test.wav:提取出来的音频文件
-ar 16000: 采样率16k
s16le:16位
使用“科大讯飞”的语音识别,将语音转化为文字。 项目给的是 视频, 所以我的处理方法就是:1.从视频中提取出来音频文件(pcm、 wav格式,我用的时候讯飞暂时支持这两种格式的语音流)。 2. 使用讯飞的sdk读取该文件流
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!ffmpeg 从视频中提取WAV格式的音频
由 匿名 (未验证)
1.下载ffmpeg
2.把下载回来的ffmpeg解压后的bin目录路径添加到环境变量里面的path里面
-i .[迅雷下载xunbo.cc]爱情公寓第二季EP20.rmvb
-i .[迅雷下载xunbo.cc]爱情公寓第二季EP20.rmvb 输入的文件路径
wav 输出wav格式的文件
-ar 16000 采样率为16K
2-20.wav 输出的文件名
添加新评论[ python音频处理 ] python使用pydub+ffmpeg进行音频视频处理(简单易用) - pytorch中文网
[ python音频处理 ] python使用pydub+ffmpeg进行音频视频处理(简单易用)
o 1671 次浏览 o 0 个回复 o 日
Pydub可以让你用简单的方式处理音频。
你可以查看下面的内容
打开一个wav文件
from pydub import AudioSegment
song = AudioSegment.from_wav("never_gonna_give_you_up.wav")
或者打开一个mp3文件
song = AudioSegment.from_mp3("never_gonna_give_you_up.mp3")
或者一个ogg或者flv,或者其他所有格式
ogg_version = AudioSegment.from_ogg("never_gonna_give_you_up.ogg")
flv_version = AudioSegment.from_flv("never_gonna_give_you_up.flv")
mp4_version = AudioSegment.from_file("never_gonna_give_you_up.mp4", "mp4")
wma_version = AudioSegment.from_file("never_gonna_give_you_up.wma", "wma")
aac_version = AudioSegment.from_file("never_gonna_give_you_up.aiff", "aac")
切片音频:
# pydub does things in milliseconds
ten_seconds = 10 * 1000
first_10_seconds = song[:ten_seconds]
last_5_seconds = song[-5000:]
让开始更响亮,结束更安静
# boost volume by 6dB
beginning = first_10_seconds + 6
# reduce volume by 3dB
end = last_5_seconds - 3
连接音频即声音合成(将一个文件添加到另一个文件的末尾)
without_the_middle = beginning + end
查看音屏有多长时间?
without_the_middle.duration_seconds == 15.0
audiosegments是不变的
# song is not modified
backwards = song.reverse()
交叉淡入淡出(再次,开始和结束都不会被修改)
# 1.5 second crossfade
with_style = beginning.append(end, crossfade=1500)
重复音频(重复追加生成一个文件)
# repeat the clip twice
do_it_over = with_style * 2
淡入淡出(请注意,您可以链接操作,因为一切都返回一个AudioSegment)
# 2 sec fade in, 3 sec fade out
awesome = do_it_over.fade_in(2000).fade_out(3000)
保存结果(所有ffmpeg支持的都支持)
awesome.export("mashup.mp3", format="mp3")
用标签保存结果(元数据)
awesome.export("mashup.mp3", format="mp3", tags={'artist': 'Various artists', 'album': 'Best of 2011', 'comments': 'This album is awesome!'})
您可以传递一个可选的比特率参数来使用ffmpeg支持的所有语法进行输出。
awesome.export("mashup.mp3", format="mp3", bitrate="192k")
所有ffmpeg支持的进一步的参数都可以在参数中以列表形式传递,其中第一个参数是转变论证第二。请注意,这些参数不会进行验证,而且您可能受到ffmpeg/avlib支持的特定版本的限制。
# Use preset mp3 quality 0 (equivalent to lame V0)
awesome.export("mashup.mp3", format="mp3", parameters=["-q:a", "0"])
# Mix down to two channels and set hard output volume
awesome.export("mashup.mp3", format="mp3", parameters=["-ac", "2", "-vol", "150"])
人们遇到的大多数问题都与使用ffmpeg/avlib格式之间的转换有关。Pydub提供了一个输出子进程调用的记录器来帮助您追踪问题:
&&& import logging
&&& l = logging.getLogger("pydub.converter")
&&& l.setLevel(logging.DEBUG)
&&& l.addHandler(logging.StreamHandler())
&&& AudioSegment.from_file("./test/data/test1.mp3")
subprocess.call(['ffmpeg', '-y', '-i', '/var/folders/71/42k8g72x4pq09tfp920d033r0000gn/T/tmpeZTgMy', '-vn', '-f', 'wav', '/var/folders/71/42k8g72x4pq09tfp920d033r0000gn/T/tmpK5aLcZ'])
&pydub.audio_segment.AudioSegment object at 0x101b43e10&
不要担心在转换中使用的临时文件。他们自动清理。
错误和问题
您可以在进行问题跟进中提交错误,也可以提问题在 。我们两个都会关注。
在windos,mac,linux安装pydub
安装pydub很简单,但是不要忘记安装ffmpeg/avlib
pip install pydub
或者从github安装最新的dev版本(或者在发行版本@v0.12.0版本替换@master)...
pip install git+https://github.com/jiaaro/pydub.git@master
git clone https://github.com/jiaaro/pydub.git
或者复制pydub目录到你的python path. Zip
你可以用纯Python打开和保存WAV文件。对于打开和保存非wav文件 - 如mp3- 你需要ffmpeg或libav。
在windos,mac,linux获取ffmpeg并且设置
主要用于学习Pydub,我们将从各个方面介绍Pydub模块处理的过程
Pydub的安装
您可以使用libav或ffmpeg。
Mac(使用 ):
brew install libav --with-libvorbis --with-sdl --with-theora
brew install ffmpeg --with-libvorbis --with-sdl2 --with-theora
Linux(使用apt):
apt-get install libav-tools libavcodec-extra-53
apt-get install ffmpeg libavcodec-extra-53
1、从提供的Windows二进制文件下载并解压libav。
2、将libav /bin文件夹添加到PATH envvar中
3、pip install pydub
AudioSegment对象是的
Ogg导出和默认编解码器
Ogg规范(。
如果没有指定编解码器导出到ogg会默认使用vorbis的convinence。那是:
from pydub import AudioSegment
song = AudioSegment.from_mp3("test/data/test1.mp3")
song.export("out.ogg", format="ogg")
# Is the same as:
song.export("out.ogg", format="ogg", codec="libvorbis")
加入你有一个mp4和flv视频的目录,并且你想把它们全部转换成mp3,所以你可以在你的mp3播放器上聆听它们。
import glob
from pydub import AudioSegment
video_dir = '/home/johndoe/downloaded_videos/'
# Path where the videos are located
extension_list = ('*.mp4', '*.flv')
os.chdir(video_dir)
for extension in extension_list:
for video in glob.glob(extension):
mp3_filename = os.path.splitext(os.path.basename(video))[0] + '.mp3'
AudioSegment.from_file(video).export(mp3_filename, format='mp3')
另一个例子呢?
from glob import glob
from pydub import AudioSegment
playlist_songs = [AudioSegment.from_mp3(mp3_file) for mp3_file in glob("*.mp3")]
first_song = playlist_songs.pop(0)
# let's just include the first 30 seconds of the first song (slicing
# is done by milliseconds)
beginning_of_song = first_song[:30*1000]
playlist = beginning_of_song
for song in playlist_songs:
# We don't want an abrupt stop at the end, so let's do a 10 second crossfades
playlist = playlist.append(song, crossfade=(10 * 1000))
# let's fade out the end of the last song
playlist = playlist.fade_out(30)
# hmm I wonder how long it is... ( len(audio_segment) returns milliseconds )
playlist_length = len(playlist) / (1000*60)
# lets save it!
out_f = open("%s_minute_playlist.mp3" % playlist_length, 'wb')
playlist.export(out_f, format='mp3')
常见问题:
一、cannot import name AudioSegment
出现cannot import name AudioSegment首先你要查看是否安装pydub,如果安装了还报这个错,代表你的文件名错误了,不要把这个文件命名为pydub.py,否则报错
原创文章,转载请注明 :
原文出处:
https://ptorch.com/news/112.html
问题交流群 :
本站主要用于提供Pytorch,Torch等深度学习框架分享交流使用,本站包括Pytorch/Torch最新资讯,中文文档,中文交流社区。如有问题,大家可在社区交流讨论!谢谢大家!
扫码加入QQ群
手机浏览社区ffmpeg吧-百度贴吧
感谢你与本吧的一同成长
签到排名:今日本吧第个签到,
本吧因你更精彩,明天继续来努力!
本吧排名:
本吧签到人数:2
可签7级以上的吧50个
本月漏签0次!
成为超级会员,赠送8张补签卡
连续签到:天&&累计签到:天
超级会员单次开通12个月以上,赠送连续签到卡3张
资料哦,参见下图,为毛被删帖啊,详情gay hub 吧
1.将ffmpeeg.exe程序移动到 D盘或者F盘(d盘为例) 2.打开cmd 3.输入(d:)或【d:】进入d盘目录 4.输入FFmpeg.ex
从网上找了个录视频的ffmpeg,之前一直没问题,昨天电脑突然死机,导致录制的视频无法播放,各位大神
最近在研究用ffmpeg实现基于BS架构的在线直播,前面基本梳理清楚了,但是到了web端搞不明白了,ffmpeg解码
ffplay如何调用显卡反交错 yadif1080我机器跑不动
下了个阿凡达的4k蓝光原盘,140多G ,打开stream文件夹发现有好多分片..... 使用命令:先创建
命令如图,输出的视频依然没有旋转,求教。 源视频是4K的mkv。
用视频捕捉下载的一堆ts文件 想用FF合并解密 有key文件 但貌似不识别 错误如图 这应该怎么整 是我用错命
用ffmpeg打开电脑usb摄像头并推流到媒体服务器上,供其他终端拉流显示。如果我还想在本地也显示我自己
第一次接触FFmpeg,在网上找了一些命令但是封装后不是无法打开就是打开只有声音。求助各位大神应该怎
Android 音视频深入 二十一 FFmpeg视频剪切 Android 音视频深入 二十 FFmpeg视频压缩(附源码下载) Android 音视频深
最近要写个windows的录屏功能,除了屏幕画面外还需要录制功放的声音,于是想请教一下如何采集声卡的声
ffmpeg如何为视频添加lgo
求救,qt加ffmpeg用udp做一个网络视频播放器,现在要把音频从服务器发到客户端,不知道应该解码成pcm后直
基于FFmpeg开发Android视频播放器 - CSDN学院 - 在线学习教程 - 会员免费转自:https://edu.csdn.net/combo/detail/837
我想把mp3文件转成pcm,然后下载了ffmpeg,在命令行里使用是成功了,但是在php里用exec执行,发现执行失败
java ffmpeg可以通过命令行进行转码,请问可以对音频流进行转码吗?可有代码实例之类的?
想将图片转成视频,每两秒播放一张图,生成视频的时间是图片的数量的两倍,但是播放视频时,如果暂
我想快速从视频抽一帧图像 命令是 ffmpeg -ss 00:04:58.386 -i test.rmvb -vframes 1 -y test.jpg -loglevel 56 但是发现定位
各位大佬,有熟悉ffmpeg解码mpeg2视频的吗?小弟碰到了点问题,必有小谢
一楼献给国家
使用ffmpeg,摄像头视频得到如下信息: Input #0, dshow, from 'video=USB HD Webcam': Duration: N/A, start: ,
转码指令:ffmpeg -i movie.mp4 -vcodec libx264 -vpre fast -vpre baseline -acodec libfaac -r 60 -y out.mp4 要求:转成libfaac+h264编
ffmpeg -ss **START_TIME** -i input.mp4 -t **STOP_TIME** -acodec copy -vcodec copy output.mp4 通过上面这个命令 无损切割视频后8
一直找不到个系统的教程。看注释也不全啊。
到底怎么回事?
编译ffmpeg的静态库时,—disable-asm具体有什么作用呢?
我按照网上的方法在ffmpeg中配置了--enable--libfdk-aac可是一直提示我libfdk_aac not found,一直找不到解决方法,
求助ffmpeg能设定起始帧吗,比如我想跳过视频的前三百帧转码后面的帧要怎么操作
目标需求:一个简单的视频编辑器 功能:1.能调节视频文件亮度、对比度、饱和度、色调 2.能设置播放开
例如,我有一张的图片,我想把它缩成weight为1058的图片,但是我没法用有限小数的比例数字去计算
如下所示,总是提示reasonCODE=&522&,也转不成CBR模式,求助大神 ffmpeg -i &D:\convert\ZM\ZM1\jiangsu\1100901
我在调用avformat_open_input() 时 ret的错误码是: -(Protocol not found),网络视频流和本地视频流都报这
已建i.txt,怎么做
新手,不知道从何下手,求大神指点。
新人求教;求两个ffmepg命令。1.将d/seven/date/site.mp4 帧率29 提取为png图片 保存至d/seven/date(ps:要全部帧都
但是我不知道在./configure 中如何 disable哪些? enable哪些东西? 我输入了--help 但是罗列出来的命令我都不知
如题 FFmpeg如何给一个视频的开始和结束加一个黑屏过度 效果是淡入淡出的 求命令行 有个网站有但是我看
我使用的视频转GIF的命令是:ffmpeg -i in.mp4 -r 5 out.gif 视频的帧率是0.2,但是生成的GIF是1,-r 或者 -framerate
如何实现多个文件无缝依次推流并实现循环?
请教各位大神,我在用FFMPEGj解码PNG的时候,avcodec_decode_video2解码出来的 avframe data[0]有数据 data[1]和data[2]
有两部TVB港剧1080p,两条字幕是DVB图形字幕在播放器上无法显示。 搜索到的教程都是视频转码内嵌字幕,
试了一下 -vf可以打入字幕 不过不能保留画质 因为不想转码输入和输出都是flv文件
解码程序是参考自带的例子: decoding_encoding.c, 只是把手动设置解码器更换成自动获取, MP3解码播放正常, ogg
发贴红色标题
签到六倍经验
兑换本吧会员
赠送补签卡1张,获得
助攻总额: 43W
贴吧热议榜
发表后自动分享本贴
使用签名档&博客分类:
1. 先用ffmpeg查看视频文件信息:
# ffmpeg -i a.MPG
Input #0, mpeg, from 'a.MPG':
Duration: 00:00:32.32, start: 245.117611, bitrate: 8581 kb/s
Stream #0.0[0x1e0]: Video: mpeg2video, yuv420p, 720x480 [PAR 32:27 DAR 16:9], 9800 kb/s, 59.94 tbr, 90k tbn, 59.94 tbc
Stream #0.1[0x31]: Subtitle: dvdsub
Stream #0.2[0x81]: Audio: ac3, 48000 Hz, 5.1, s16, 384 kb/s
Stream #0.3[0x82]: Audio: ac3, 48000 Hz, 5.1, s16, 384 kb/s
Stream #0.4[0x80]: Audio: ac3, 48000 Hz, 5.1, s16, 448 kb/s
Stream #0.5[0x83]: Audio: ac3, 48000 Hz, stereo, s16, 160 kb/s
Stream #0.6[0x84]: Audio: ac3, 48000 Hz, stereo, s16, 160 kb/s
Stream #0.7[0x85]: Audio: ac3, 48000 Hz, stereo, s16, 192 kb/s
Stream #0.8[0x2d]: Subtitle: dvdsub
Stream #0.9[0x2e]: Subtitle: dvdsub
Stream #0.10[0x2f]: Subtitle: dvdsub
Stream #0.11[0x24]: Subtitle: dvdsub
Stream #0.12[0x30]: Subtitle: dvdsub
Stream #0.13[0x2a]: Subtitle: dvdsub
Stream #0.14[0x2b]: Subtitle: dvdsub
Stream #0.15[0x2c]: Subtitle: dvdsub
Stream #0.16[0x23]: Subtitle: dvdsub
2. 转制音频文件
可以看到Audio的Stream有2-7个,分别获取这几个audio音轨的命令是:
ffmpeg -i a.MPG -map 0:2 a.2.wav
ffmpeg -i a.MPG -map 0:3 a.3.wav
ffmpeg -i a.MPG -map 0:4 a.4.wav
ffmpeg -i a.MPG -map 0:7 a.7.wav
a.%d.wav (2-7) 即是输出的几个音轨的音频文件。
浏览: 224458 次
来自: 北京
真是好东东,正在学习中!
不错的例子,好好看看
不错, 现在正在从Java转到Python这边来, 以前用Ja ...
有没有openSUSE的
winmail.dat是个垃圾!气死我了.
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'

我要回帖

更多关于 ffmpeg 合并 音频文件 的文章

 

随机推荐