#python #ffmpeg #moviepy
Вопрос:
Я хочу конвертировать видеофайл mp4 в аудио mp3/wav с помощью python ffmpeg или moviepy. когда я выполняю эту команду
ffmpeg -i vid.mp4 -ar 44100 -vn audio.wav
Он возвращается
Output file #0 does not contain any stream
Вот полный журнал
ffmpeg version N-55702-g920046a Copyright (c) 2000-2013 the FFmpeg developers
built on Aug 21 2013 18:10:00 with gcc 4.7.3 (GCC)
configuration: --disable-static --enable-shared --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetype --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib
libavutil 52. 42.100 / 52. 42.100
libavcodec 55. 29.100 / 55. 29.100
libavformat 55. 14.101 / 55. 14.101
libavdevice 55. 3.100 / 55. 3.100
libavfilter 3. 82.100 / 3. 82.100
libswscale 2. 5.100 / 2. 5.100
libswresample 0. 17.103 / 0. 17.103
libpostproc 52. 3.100 / 52. 3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'vid.mp4':
Metadata:
major_brand : dash
minor_version : 0
compatible_brands: iso6avc1mp41
creation_time : 2021-03-12 14:13:58
Duration: 00:07:28.87, start: 0.000000, bitrate: 1199 kb/s
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 1197 kb/s, 23.98 tbr, 24k tbn, 47.95 tbc
Metadata:
creation_time : 2021-03-12 14:13:58
handler_name : ISO Media file produced by Google Inc.
Output #0, wav, to 'audio.wav':
Metadata:
major_brand : dash
minor_version : 0
compatible_brands: iso6avc1mp41
Output file #0 does not contain any stream
Я искал это в Интернете, но не смог найти решения
Пожалуйста, скажите, есть ли способ сделать это с помощью ffmpeg или другим способом
Я также пытался использовать moviepy, но это не увенчалось успехом.
Вот журнал moviepy
Traceback (most recent call last):
File "pathtofilescript.py", line 3, in <module>
clip.audio.write_audiofile(r'audio.mp3')
AttributeError: 'NoneType' object has no attribute 'write_audiofile'
это мой код для moviepy
import moviepy.editor as mp
clip = mp.VideoFileClip('vid.mp4')
clip.audio.write_audiofile(r'audio.mp3')
Комментарии:
1. В вашем мерзком видео, похоже, отсутствует звук
2. да, в моем аудиофайле есть аудио
3. Ну, ffmpeg так не думает 🙂 Можете ли вы поделиться видеофайлом публично?
Ответ №1:
Это должно означать, что vid.mp4
файлы не могут быть найдены программой. Убедитесь, что vid.py
файл находится в том же каталоге, что и ffmpeg.exe
(или убедитесь, что вы записали компакт-диск в тот же каталог, vid.mp4
что и файл в командной строке) и ваш файл python.
Ответ №2:
Я пробовал moviepy и, надеюсь, смогу вам помочь. Можете ли вы попробовать это:
import moviepy.editor as mp
clip = mp.VideoFileClip('vid.mp4')
audio = clip.audio
audio.write_audiofile('audio.mp3')