windows - ffmpeg的python调用错过了目标文件参数

标签 windows python-3.x ffmpeg subprocess

我正在为 ffmpeg 编写一个 python GUI。通过子进程调用 ffmpeg 时,只要命令类似,它就可以正常运行

subprocess.Popen([ffmpeg_converter,
        '-i',file,
        target_file
        ])

但是当我使用 ffmpeg 参数进行相同的调用时,它会失败
“必须至少指定一个输出文件”:
option_string = '-q:a 4'
subprocess.Popen([ffmpeg_converter,
        '-i',file,
        option_string,
        target_file
        ])

它甚至可以识别选项但看不到目标文件。我什至用像“test.mp3”这样简单的东西替换了实际的目标文件,但仍然是同样的错误。有任何想法吗? (我在使用 python 3.3 的 Windows 上。)

完整的控制台输出为:
    ffmpeg version N-57781-g0610d6e Copyright (c) 2000-2013 the FFmpeg developers
  built on Nov  1 2013 18:01:35 with gcc 4.8.2 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab
le-iconv --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetype --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --ena
ble-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libsp
eex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavp
ack --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib
  libavutil      52. 49.100 / 52. 49.100
  libavcodec     55. 40.101 / 55. 40.101
  libavformat    55. 20.105 / 55. 20.105
  libavdevice    55.  5.100 / 55.  5.100
  libavfilter     3. 90.100 /  3. 90.100
  libswscale      2.  5.101 /  2.  5.101
  libswresample   0. 17.104 /  0. 17.104
  libpostproc    52.  3.100 / 52.  3.100
Trailing options were found on the commandline.
Input #0, flac, from 'c:\script\python\testdata\source\01. Es geht los.flac':
  Metadata:
    ARTIST          : Olivia Trummer Trio
    TITLE           : Es geht los
    ALBUM           : Westwind
    DATE            : 2008
    track           : 01
    GENRE           : Jazz
    COMMENT         : EAC FLAC -8
  Duration: 00:06:27.25, bitrate: 834 kb/s
    Stream #0:0: Audio: flac, 44100 Hz, stereo, s16
At least one output file must be specified

最佳答案

我觉得你需要通过-q:a 4作为单独的值 -q:a , 4 .

关于windows - ffmpeg的python调用错过了目标文件参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19746801/

相关文章:

c# - CreateDirectory 在公用文件夹中创建重复目录

python - 在 Python 中绘制分段函数

python - 如何从python中的列表索引获取列表的子集

image - 使用 go 图像库从标准输出解码 bmp 图像

c# - FFmpeg.AutoGen 如何分割音频文件的例子

c - 删除视频的某些部分并重新制作关键帧(c++ + libav)

.net - Windows 文件系统统计更新频率

c++ - 如何解决此 VC++ 6.0 链接器错误?

c++ - 使用 IOCTL_CHANGER_GET_PRODUCT_DATA 调用 DeviceIoControl 时出现 ERROR_ACCESS_DENIED

python - 属性错误 : 'DataFrame' object has no attribute 'group'