我正在尝试将视频与Python中的独立音频文件合并。我将视频和音频作为字节存储在内存中,我想知道如何允许ffmpeg-python合并它们。
通过ffmpeg.concat和使用ffmpeg.input从磁盘读取文件,我已经看到了这一点,但是当我的程序下载这些文件时,它将它们作为字节对象保存在内存中。
我尝试将字节对象传递到ffmpeg.concat,但是它抛出了一个错误,因为它期待流对象:
TypeError: Expected incoming stream(s) to be of one of the following types: ffmpeg.nodes.FilterableStr
我使用的是ffmpeg-python库。 我使用了示例代码https://github.com/kkroening/ffmpeg-python/tree/master/examples来异步读入和处理音频和视频流。处理是自定义的,而不是内置的ffmpeg命令可以实现的(想象一下tensorflow在音频和视频上的深度梦想)。然后我想重新组合我创建的音频流和视频流。目前,我能看到的唯一方法是将两个流写出到单独的文件中(例如在这个答案中:How to combine The video and audio files in ffmpeg-python),然后使用ffmpeg将它们组合起来。最大的
我有一个Python脚本来记录音频/视频,使用"subprocess“模块执行ffmpeg命令,如下所示:
def kill_ffmpeg_process(args):
for proc in psutil.process_iter(['pid', 'name', 'cmdline']):
if proc.info['name'] == 'ffmpeg' and args in proc.info['cmdline']:
print("
我正在编写一个Python程序,它依赖FFMPEG将音频解码为WAV格式。我希望能够处理尽可能多的音频类型,但我需要一种方法来快速检查我是否真的可以处理上传的文件。我已经在这里编译了我自己的FFMPEG安装。
具体来说,我想在我的应用程序中执行这样的逻辑:
if ffmpeg_type(file_path) is not "audio":
raise Exception("Bro, that's not an audio file.")
elif not ffmpeg_can_decode_audio(file_path):
raise
我正在尝试使用ffmpeg和Python的subprocess模块来转换一些音频文件。我从一个URL抓取音频文件,并希望能够将Python File对象传递给ffmpeg,而不是先将它们保存到磁盘。如果我能得到一个文件流,而不是让ffmpeg将输出保存到一个文件中,那就太好了。
作为参考,我现在这样做:
tmp = "/dev/shm"
audio_wav_file = requests.get(audio_url)
## ## ##
## This is what I don't want to
我想从Windows上用youtube-dl下载的视频中提取音频。我让youtube-dl正常工作,但无法提取音频。此问题是由于未安装正确的音频代码造成的。
当我尝试提取音频时,它告诉我以下内容:
WARNING: unable to obtain file audio codes with ffprobe
youtube-dl手册上写着:
-x -extract-audio convert video files to audio-only files (requires ffmpeg or avconv and ffprobe or avprobe)
如何安装ffprobe或ffmp
除非我使用librosa的一个本机“示例”音频文件,它们是某种格式的“..ogg”,否则我无法加载音频。
每一个github问题和答案都说我需要安装ffmpeg。我找到了一个名为ffmpeg的python包,并将它安装到我的虚拟环境中。我还找到了一个名为ffmpeg的多用途程序,并将它安装到我的Windows机器上,并将它的位置添加到我的PATH变量中。
我仍然收到和其他人一样的警告和错误:
c:\users\wesle\appdata\local\programs\python\python38\lib\site-packages\librosa\core\audio.py:162: Use