我有一个音频文件,我想将其转换为视频。如果可能的话,我想使用静态图像出现在视频中。我已经研究了几个可能的解决方案,但它们都不是功能齐全的。
此解决方案在上一个线程中
ffmpeg -loop_input -shortest -y -i image8.jpg -i sound11.mp3 -acodec copy -vcodec mjpeg result.avi
不再起作用,因为它不会将视频延长到音频文件的持续时间。此外,ffmpeg 抱怨它已被弃用,并建议改用 avconv。
avconv -i sound11.mp3 -strict experimental -i 341410.jpg -map 0:a out.mp4
但图像没有出现
最后我尝试了 gstreamer
gst-launch filesrc location=deltio.mp3 ! mp3parse ! mp4mux name=mux filesink location=output.mp4 filesrc location=341410.jpg ! jpegdec ! x264enc ! mux.
但我得到一个错误
ERROR: from element /GstPipeline:pipeline0/GstX264Enc:x264enc0: Can not initialize x264 encoder.
Additional debug info: gstx264enc.c(1269): gst_x264_enc_init_encoder (): /GstPipeline:pipeline0/GstX264Enc:x264enc0
ERROR: pipeline doesn't want to preroll.
由于我想将此转换包含在 Python 脚本中,因此后一种解决方案似乎是最好的,因为 GStreamer 有一个 Python 包装器