向复用器提交数据包时出错:无法分配内存

向复用器提交数据包时出错:无法分配内存

我正在尝试使用 ffmpeg 修剪和连接多个视频文件。这些视频已使用 H.264 以 720p 的分辨率进行转码。但是,在执行命令时,我遇到以下错误。

[aost#0:1/copy @ 0x55728055fe00] 向多路复用器提交数据包时出错:无法分配内存+03x
最后一条消息重复 1 次 [out#0/mp4 @ 0x55727ff66f80] 多路复用数据包时出错 [out#0/mp4 @ 0x55727ff66f80] 任务完成,错误代码:-12(无法分配内存) [out#0/mp4 @ 0x55727ff66f80] 终止线程,返回代码为 -12(无法分配内存) [out#0/mp4 @ 0x55727ff66f80] 写入尾部时出错:无法分配内存

我的命令是:

ffmpeg -hwaccel cuda -v error -stats -y -i input1.mp4 -i input2.mp4 -i input3.mp4 -i input4.mp4 -stream_loop -1 -i audio.mp3 -filter_complex '[1:v]trim=start=1371:end=1384,setpts=PTS-STARTPTS[v1];[2:v]trim=start=3471:end=3484,setpts=PTS-STARTPTS[v2];[0:v][v1][v2][3:v]concat=n=4:v=1:a=0[v]' -map '[v]' -vsync 2 -map 4:a:0 -c:a copy -c:v h264_nvenc -preset fast -f mp4 output.mp4

有什么帮助吗?另外,我想知道使用 cuda 是否有助于加快操作速度。

答案1

我设法通过将任务分成两个单独的命令来解决这个问题:首先使用修剪过滤器修剪视频并单独保存它们,然后连接修剪后的视频。

相关内容