如何将 MP3 转换为 YouTube 允许的视频格式?

如何将 MP3 转换为 YouTube 允许的视频格式?

我的网站上有很多 MP3 文件,我决定将它们上传到 Youtube,但不幸的是,YouTube 不允许我这样做。它只要求视频格式。

我如何将这些 MP3 转换为视频,并将同一组图像(一张或多张图像)添加到生成的视频格式中。

我需要批量执行此操作,而不是单独执行,我有数百个 MP3 文件。

它可以是基于 Windows 或基于 Linux 的应用程序。

答案1

有一些关于使用 FFmpeg 为 YouTube 编码带有静态图像的音频的信息,这里以及在 Windows 中进行批量转换的一些建议,这里

至于编码,我发现这是有效的:

ffmpeg -loop 1 -r 1 -i pic.jpg -i audio.mp3 -c:a copy -shortest -c:v libx264 output.mp4

编码-c:v libx264大大减少了输出文件的大小,如下所述:https://superuser.com/a/1472572/128124

答案2

您还可以考虑使用简单的 bash oneliner 代替 python 脚本 -

for i in *.mp3; do ffmpeg -v quiet -i "picture.jpg" -i "$i" -shortest -acodec copy "`sed 's/mp3/mp4/g'<<<$i`"; done

这会将当前目录中的所有 mp3 文件转换为带有 picture.jpg 的 mp4 视频。

将 flac 转换为 mp3 需要

for i in *.flac; do ffmpeg -v quiet -i "$i" -ab 320k -ac 2 -ar 48000 "`sed 's/flac/mp3/g'<<<$i`"; done

注意“-v 安静”,这会堵住 ffmpeg 的大嘴巴,并且在 $i 和sed- 周围加上双引号,这将确保它不会因包含空格的文件名而失败。

提示:转换为视频需要相当长的时间(至少对我来说)。尝试使用-线程 4(当然也可以是其他值。在单核 CPU 上这没有任何意义)

编辑:我发现“-loop 1”(其他人建议的)会创建循环(真令人惊讶!),而循环实际上是无限的。在我的 gentoo 上,这意味着它会吃掉你所有美味的食物。如果没有“-loop 1”,它也能正常工作,所以我建议你使用它。

答案3

Ubuntu 和其他 Linux 系统的一些解决方案位于http://ubuntuforums.org/showthread.php?t=1686664。大多数是 shell 命令或其他一些快速脚本语言,可以循环播放所有 MP3,输出视频文件。然后,您只需将视频文件排队上传到 YouTube 即可。页面上列出的解决方案包括:

  1. FFmpeg,然后将所有 mp3 文件相应地上传到 YouTube
    ffmpeg -loop 1 -i picture.jpg -i music.mp3 -shortest -acodec copy video.mp4 Loop,然后上传所有生成的视频文件。

  2. Python,转换为 mp4,然后将文件上传到 YouTube

    #! /usr/bin/env python

    import sys, os

    inputOne = sys.argv[1] inputTwo = sys.argv[2]

    for i in sys.argv[1:]: if '.mp3' in i: output = i.replace('mp3','mp4')

    cmd = 'ffmpeg -loop_input -i "'+inputOne+'" -i "'+inputTwo+'" -shortest -acodec copy "'+output+'"'

    os.system(cmd)

它还使用 ffmpeg,并接受音乐和图片作为参数。

答案4

将你的 mp3 文件(或任何你想编码的文件,相应地更改音频格式)复制到一个文件夹中。同时将 ffmpeg 的一个实例放入其中,封面图片标题为herringbone.jpg

然后转到 CMD 并导航到该文件夹​​。

复制此内容:

for %a in (*.mp3) do "ffmpeg" -loop 1 -r 1 -i "Herringbone.jpg" -vcodec mpeg4 -i %a -acodec copy -shortest %a".mp4"

(要粘贴到 CMD 窗口,请单击左上角的命令行窗口。选择编辑/粘贴。)

按回车键。

适用于最新版本的 ffmpeg 编码器(4.1.1)

我想你也可以更改视频格式。只需将 mp4 更改为你想要的格式以及 ffmpeg 支持的任何格式即可。

-shortest我在另一个论坛上发现了这一点,但直到我切换了脚本中的位置后它才起作用。

相关内容