FFMPEG:如何将1000个jpegs和100个mp3秒转换为视频?

Rel*_*lla 1 c video mp3 jpeg ffmpeg

所以我的程序生成JPegs和MP3立体声轨道.我想用FFMPEG将我的程序结果转换为h264 + aac或OGG(vorbis + theora)100秒视频.那么如何从命令行开始至少(或者使用C中的纯ffmpeg lib)呢?

Mic*_*Mic 6

不是我尝试过这些命令,而是从内存中:

ffmpeg -i %4d.jpg -r 10 -vcodec theora -i file.mp3 -acodec vorbis out.ogg
Run Code Online (Sandbox Code Playgroud)

要么:

ffmpeg -i %4d.jpg -r 10 -vcodec h264 -i file.mp3 -acodec aac out.mkv
Run Code Online (Sandbox Code Playgroud)

-r是帧速率,每秒10 jpegs.这些示例还假设JPEG编号为0001.jpg到1000.jpg.或者,如果JPEG没有编号,您可以尝试管道,但我不确定ffmpeg是否有JPEG输入解析器,例如:

cat *.jpg | ffmpeg -vcodec jpegls -f image2pipe -i - [... rest of command after jpg input ...]
Run Code Online (Sandbox Code Playgroud)

注意,这些示例都没有指定比特率,输出大小或其他任何内容,您在问题中没有提到它们,所以不确定您要追求的是什么.作为参考,您可能想要设置正确的比特率(-b VALUE_IN_BYTES),大小(-s 1920x1080),音频通道数(-ac X),音频比特率(-ab XX),频率(-ar XXXX)等等