使用ffmpeg

时间:2018-02-01 10:18:34

标签: video ffmpeg

我有一个简单的图像和一个mp3文件,我想做的就是在视频中为这个mp3文件添加一个歌词作为淡出风格的输出。
所以我使用这个命令从this blog

开始这样做
ffmpeg -loop 1 -y -i test.jpg -i test.mp3 -vf subtitles=”f=test.srt:force_style=’FontName=Arial,FontSize=14″ -shortest test1.mp4

当我使用此命令时,我得到了这个错误

    ffmpeg -loop 1 -y -i test.jpg -i test.mp3 -vf subtitles="f=test.srt:force_style=’FontName=Arial,FontSize=14″ -shortest test1.mp4
ffmpeg version N-89940-gb1af0e23a3 Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 7.2.0 (GCC)
  configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-bzlib --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libmfx --enable-amf --enable-cuda --enable-cuvid --enable-d3d11va --enable-nvenc --enable-dxva2 --enable-avisynth
  libavutil      56.  7.100 / 56.  7.100
  libavcodec     58.  9.100 / 58.  9.100
  libavformat    58.  7.100 / 58.  7.100
  libavdevice    58.  0.101 / 58.  0.101
  libavfilter     7. 11.101 /  7. 11.101
  libswscale      5.  0.101 /  5.  0.101
  libswresample   3.  0.101 /  3.  0.101
  libpostproc    55.  0.100 / 55.  0.100
Trailing options were found on the commandline.
Input #0, image2, from 'test.jpg':
  Duration: 00:00:00.04, start: 0.000000, bitrate: 17290 kb/s
    Stream #0:0: Video: mjpeg, yuvj420p(pc, bt470bg/unknown/unknown), 960x959 [SAR 1:1 DAR 960:959], 25 fps, 25 tbr, 25 tbn, 25 tbc
Input #1, mp3, from 'test.mp3':
  Metadata:
    comment         : converted by convert2mp3.net
    title           : Celestial Empire [ Worlds 2017 ] [ Pick and b
    artist          : Raffael Gruber Matthias Ullrich
  Duration: 00:02:33.13, start: 0.025057, bitrate: 193 kb/s
    Stream #1:0: Audio: mp3, 44100 Hz, stereo, s16p, 192 kb/s
    Metadata:
      encoder         : Lavc57.28
At least one output file must be specified

我使用的是Windows 10,最后一个版本的ffmpeg,所以是什么原因导致了这个问题。还有如何使歌词的风格像淡入/淡出等。如果可能的话 提前致谢。
更新
当我使用这个命令时

ffmpeg -loop 1 -y -i test.jpg -i test.mp3 -vf "subtitles=test.srt:force_style='FontName=Arial,FontSize=14'" -shortest test1.mp4

它给我这个错误

Press [q] to stop, [?] for help
[Parsed_subtitles_0 @ 049af980] Shaper: FriBidi 0.19.7 (SIMPLE)
[Parsed_subtitles_0 @ 049af980] Using font provider directwrite
[libx264 @ 049d2440] height not divisible by 2 (960x959)
Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height
Conversion failed!

我搜索了这个错误,我通过在输出文件之前添加此部分找到了解决方案,因此最终命令是

ffmpeg -loop 1 -y -i test.jpg -i test.mp3 -vf "subtitles=test.srt:force_style='FontName=Arial,FontSize=14'" -shortest -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" test1.mp4

我没有错误并且它有效,但输出视频不包含我添加的任何歌词


  

更新   
  我试过的最后一件事,它首先使用此命令将图像和mp3文件转换为mp4视频

ffmpeg -loop 1 -i test.jpg -i test.mp3 -shortest -acodec copy -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" video.mp4

但是这个命令需要很长时间来处理,将2:55分钟的mp3转换成图像 然后我开始使用此命令添加歌词或副标题

ffmpeg -i video.mp4 -vf "subtitles=test.srt:force_style='FontName=Arial,FontSize=14,PrimaryColour=&H0000ff&'" -c:a copy output.mp4

这完美并且给出了输出但是需要很长时间来处理我不知道这是否正常 现在最后一件事我怎样才能设置字幕的风格,以便淡出或者什么

0 个答案:

没有答案