将MP3转换为视频 - 使用元数据文本图像作为视频轨道?

时间:2016-10-13 09:16:46

标签: video youtube mp3

我有很多MP3文件,都是音乐会的录音。每个人都有

的元数据

例如:(使用ffprobe)

Metadata:
    title           : Vishweshwara
    genre           : Flute
    album           : Sindu Bhairavi
    artist          : Sikkil Sisters
 Duration: 00:06:23.48, start: 0.000000, bitrate: 128 kb/s

现在我想把这些mp3转换成mp4上传到Youtube。 我知道我可以使用:

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

但对于"picture.jpg"部分,我想要从该文件的元数据文本生成图片。简而言之:我想要的只是在FFmpeg中生成视频时导出的白色背景上的上述元数据文本,以便稍后用作picture.jpg

如何使用脚本为文件夹中的所有mp3文件执行此操作?

我尝试了以下编写的脚本,但视频输出中没有数据(甚至没有原始音频也没有新图像)

for i in *.mp3; 
do 

convert label:"$(mediainfo "$i")" picture.jpg

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

rm picture.jpg


done

有人可以帮助我为什么不生成这些视频吗?

1 个答案:

答案 0 :(得分:1)

经过大量研究后,我提出了一个混乱的解决方案。我将它发布在这里,以便有人搜索它将受益。

#!/bin/bash

###this script needs  "mediainfo" get it with
#sudo apt-get install mediainfo 
#if you dont have it
######Made by Ashwin 

mkdir output;

for i in *.mp3; 
do 
f="${i[@]/%mp3/mp4}"

convert label:"$(mediainfo "$i")" ""$i".png";

ffmpeg -v quiet -loop 1 -r 1 -i ""$i".png" -i "$i" -c:a copy -shortest "$f";
rm ""$i".png";
mv "$f" output/"$f";

done

将其另存为scr.sh并在终端中运行chmod 755 scr.sh。将其复制到保存歌曲的位置,然后运行./scr.sh