我正在使用ffmpeg创建10秒的mp4(h265)视频块。 我正在使用image2pipe,因为这似乎对cpu的影响较小,命令行为:
-y -threads 1 -framerate“&FrameRate&” -f image2pipe -i pipe:.jpg -vf format = yuv420p -c:v libx265 -preset ultrafast -crf 28 -vsync vfr“&strSaveDirectory
然后我使用以下方法来汇总这些视频块:
“-f concat -safe 0 -i”&strConcatAVIs和“ -c copy”&outPutPath
如果我播放10秒mp4中的每一个mp4,它们似乎都是完整的,但是当它们合并到一个文件中时,有时会暂停几秒钟,而有时视频会在3秒或4秒内跳动加入。
通常这是几个文件的说明:
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'C:\Temp\testmp4\video_1_1_2_2019_5_13_13_15_10.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2mp41
encoder : Lavf58.20.100
Duration: 00:00:09.85, start: 0.000000, bitrate: 225 kb/s
Stream #0:0(und): Video: hevc (Main) (hev1 / 0x31766568), yuv420p(tv, progressive), 768x576 [SAR 1:1 DAR 4:3], 221 kb/s, 13 fps, 13 tbr, 13312 tbn, 13 tbc (default)
Metadata:
handler_name : VideoHandler
-----------------------------------------------
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'C:\Temp\testmp4\video_1_1_2_2019_5_13_13_15_20.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2mp41
encoder : Lavf58.20.100
Duration: 00:00:10.00, start: 0.000000, bitrate: 334 kb/s
Stream #0:0(und): Video: hevc (Main) (hev1 / 0x31766568), yuv420p(tv, progressive), 768x576 [SAR 1:1 DAR 4:3], 330 kb/s, 13 fps, 13 tbr, 13312 tbn, 13 tbc (default)
Metadata:
handler_name : VideoHandler
必须至少指定一个输出文件
在我的文件'strConcatAVIs'中,我尝试在连接上添加正确的持续时间,该持续时间并没有太大变化,但是如果我将持续时间更改为14、6(与正确的持续时间相反),则改为10、10,这是正确的持续时间正在暂停并加快播放速度。