我有一个python程序,它正在生成一个要覆盖在MP4文件顶部的图像流。这很有效。我将图像数据从python传输到ffmpeg,并将其覆盖在视频上。我以与视频文件不同的帧速率生成图像,ffmpeg使所有工作正常
忽略python,因为它在这里可能不相关,我运行的ffmpeg命令行是:
(这不是bash引用的)
ffmpeg -y -i inputmpeg.mp4 -f rawvideo -framerate 10.0 -s 1920x1080 -pix_fmt rgba -i - -r 30 -filter_complex [0:v][1:v]overlay -vcodec libx264 -crf 18 -preset veryfast
为了生成缩放输出图像,我有时可以使用
-filter_complex [0:v][1:v]overlay,scale=-1:720
但是,有时输入MPEG会被分割成多个文件,因此我想在这里也这样做,但允许指定两个(或三个或十个)输入文件,这将导致它们按顺序播放到叠加过滤器,并与来自stdin(-i-)的图像叠加
谢谢你的建议
有问题的相机是GoPro。下面是ffprobe的一些输出
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'GH070061.MP4':
Metadata:
major_brand : mp41
minor_version : 538120216
compatible_brands: mp41
creation_time : 2021-09-01T10:31:46.000000Z
location : xxxxx/
location-eng : xxxxx/
firmware : HD9.01.01.60.00
Duration: 00:09:42.05, start: 0.000000, bitrate: 45276 kb/s
Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuvj420p(pc, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 44997 kb/s, 59.94 fps, 59.94 tbr, 60k tbn, 119.88 tbc (default)
Metadata:
rotate : 180
creation_time : 2021-09-01T10:31:46.000000Z
handler_name : GoPro AVC
encoder : GoPro AVC encoder
timecode : 11:53:44:51
Side data:
displaymatrix: rotation of -180.00 degrees
Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 189 kb/s (default)
Metadata:
creation_time : 2021-09-01T10:31:46.000000Z
handler_name : GoPro AAC
timecode : 11:53:44:51
Stream #0:2(eng): Data: none (tmcd / 0x64636D74) (default)
Metadata:
creation_time : 2021-09-01T10:31:46.000000Z
handler_name : GoPro TCD
timecode : 11:53:44:51
Stream #0:3(eng): Data: bin_data (gpmd / 0x646D7067), 61 kb/s (default)
Metadata:
creation_time : 2021-09-01T10:31:46.000000Z
handler_name : GoPro MET
Stream #0:4(eng): Data: none (fdsc / 0x63736466), 13 kb/s (default)
Metadata:
creation_time : 2021-09-01T10:31:46.000000Z
handler_name : GoPro SOS
如果连接还可以复制“未知编解码器”流,这将是一个额外的好处——尽管这可能是另一个问题
你可以试试concat demuxer
创建名为
input.txt
的文本文件,其中包含文件列表:concat解复用器的所有输入必须共享same attributes
运行ffmpeg命令:
相关问题 更多 >
编程相关推荐