由于社会问题,本学期的一门课程需要上传一份8-10分钟的视频讲解。而自己录了一份10分半的视频,又懒得再录(果然懒惰是技术进步的动力)。需要让老师见到的文件信息中的视频时长变为10分钟。
搜到的软件很难自定义加速比。这个问题可以通过ffmpeg解决。具体来说,改变视频流的速度setpts滤波器,需要将视频流和音频流同步调整。
ffmpeg -i input.MOV -filter_complex "[0:v]setpts=0.5*PTS[v];[0:a]atempo=2.0[a]" -map "[v]" -map "[a]" video.mp4
相应调整上述代码中的文件名和加速系数即可。需注意的是,调整视频流速度的setpts和调整音频流的atempo应是互为倒数的,这样才能保证新视频里画面和声音同步。
另一个问题是系统限制上传视频应小于500MB,iphone默认的1920*1080会超过500MB。这个问题比较容易解决,直接调整分辨率即可:
ffmpeg -i video.mp4 -vf scale=1080:720 video_new.mp4
参考:
https://www.5yun.org/ffmpeg-gai-bian-shi-pin-bo-fang-su-du.html