【问题标题】:How to convert audio/music to video with static image (commandline) [closed]如何使用静态图像(命令行)将音频/音乐转换为视频[关闭]
【发布时间】:2013-05-04 22:09:47
【问题描述】:

我有一个音频文件,我想将其转换为视频。如果可能的话,我想使用静态图像出现在视频中。我已经研究了几个可能的解决方案,但它们都不是功能齐全的。

这个solution在上一个帖子中

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 包装器

【问题讨论】:

标签: ffmpeg gstreamer avconv


【解决方案1】:

它们是那里的一些旧命令。我有 a script 为此,本质上是这样的

ffmpeg -loop 1 -r 1 -i img.png -i song.m4a -qp 0 -filter:v 'crop=trunc(iw/2)*2' \
  -c:a aac -strict -2 -b:a 384k video.mp4

【讨论】:

    【解决方案2】:

    连接多个 GStreamer 视频元素时的一个常见问题是这些元素仅支持不兼容的视频格式。 通常ffmpegcolorspace 元素可以在大多数格式之间进行转换,所以试试:

    gst-launch \
        filesrc location=deltio.mp3 \
        ! mp3parse \
        ! mp4mux name=mux filesink location=output.mp4 \
        filesrc location=341410.jpg \
        ! jpegdec ! ffmpegcolorspace ! x264enc ! mux.
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-01-31
      • 2015-07-23
      • 2020-08-25
      • 2013-11-17
      • 1970-01-01
      • 2017-10-17
      • 1970-01-01
      相关资源
      最近更新 更多