我有一个简单的图像和一个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
这完美并且给出了输出但是需要很长时间来处理我不知道这是否正常 现在最后一件事我怎样才能设置字幕的风格,以便淡出或者什么