加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 追加不同宽度,高度的视频文件

发布时间:2020-12-14 19:36:52 所属栏目:Java 来源:网络整理
导读:我正在构建一个用户可以录制截屏视频的应用程序.应用程序的一个组成部分是,可以暂时停止录制并在以后的任何时间恢复它(会话在服务器端维护). 因此,当用户开始录制屏幕时,宽度和高度为:1024 * 768.使用xuggler(ffmpeg的java包装器),我能够生成一个视频.但后
我正在构建一个用户可以录制截屏视频的应用程序.应用程序的一个组成部分是,可以暂时停止录制并在以后的任何时间恢复它(会话在服务器端维护).

因此,当用户开始录制屏幕时,宽度和高度为:1024 * 768.使用xuggler(ffmpeg的java包装器),我能够生成一个视频.但后来他说他是在一个不同的系统,并希望恢复屏幕投射,然后分辨率更改为1080 * 720.在这个阶段,我单独记录它,然后尝试合并两个文件.但因为宽度和宽度高度不一样,我得到以下异常:

16:38:03.916 [main] WARN com.xuggle.xuggler – Got error: picture is
not of the same width as this Coder
(../../../../../../../csrc/com/xuggle/xuggler/StreamCoder.cpp:1430)
Exception in thread “main” java.lang.RuntimeException: failed to
encode video

解决这个问题的最佳方法是什么?用户可以在屏幕上具有不同的宽度和高度.如何合并(或任何其他替代方案,可能附加)不同宽度和高度的视频文件?

解决方法

我不知道xuggler,但使用FFMpeg我能够使用以下命令序列以不同的分辨率连接视频.
对于每个视频,我使用以下命令
ffmpeg -i input(n).mp4 -c copy -vbsf h264_mp4toannexb -f mpegts -s 1280*720 out(n).ts

生成所有out.ts文件后,我使用以下命令连接所有视频

ffmpeg -i "concat:out1.ts|out2.ts" -c:v libx264 -strict experimental -bsf:a aac_adtstoasc -ar 48000 -r 20 output.mp4

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读