我正在使用ffmpeg复制视频的一部分。
我正在使用mpv来观看视频。我从中得到了开始时间和结束时间。
ffmpeg -i" main.flv" -ss 01:54:34.340 -to 02:01:13.073 -c copy copied.mp4
我面临的问题是视频无法从01:54:34.340开始,它从01:54开始:34.608
所以它改变了开始的问题。
有什么方法可以从精确的毫秒位置开始或形成特定的帧。
或是否有提及开始帧编号和结束帧编号的命令。对于那个mpv也应该告诉我OSD中的帧数
上述命令的输出是
Input #0, flv, from 'main.flv':
Metadata:
author :
copyright :
description :
keywords :
rating :
title :
presetname : Custom
creationdate : Thu Aug 25 04:50:55 2016
:
videodevice : VidBlaster
avclevel : 31
avcprofile : 77
videokeyframe_frequency: 5
audiodevice : Realtek HD Audio Input
audiochannels : 2
audioinputvolume: 100
Duration: 03:55:58.86, start: 0.033000, bitrate: 855 kb/s
Stream #0:0: Video: h264 (Main), yuv420p(tv), 640x480 [SAR 1:1 DAR 4:3], 819 kb/s, 30.30 fps, 29.97 tbr, 1k tbn, 59.94 tbc
Stream #0:1: Audio: aac (LC), 22050 Hz, stereo, fltp, 49 kb/s
Output #0, mp4, to 'copied.mp4':
Metadata:
author :
copyright :
description :
keywords :
rating :
title :
presetname : Custom
creationdate : Thu Aug 25 04:50:55 2016
:
videodevice : VidBlaster
avclevel : 31
avcprofile : 77
videokeyframe_frequency: 5
audiodevice : Realtek HD Audio Input
audiochannels : 2
audioinputvolume: 100
encoder : Lavf57.25.100
Stream #0:0: Video: h264 ([33][0][0][0] / 0x0021), yuv420p, 640x480 [SAR 1:1 DAR 4:3], q=2-31, 819 kb/s, 30.30 fps, 29.97 tbr, 16k tbn, 1k tbc
Stream #0:1: Audio: aac (LC) ([64][0][0][0] / 0x0040), 22050 Hz, stereo, 49 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
frame= 0 fps=0.0 q=-1.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= frame= 0 fps=0.0 q=-1.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= frame=11906 fps=8002 q=-1.0 Lsize= 41574kB time=00:06:38.75 bitrate= 854.1kbits/s speed= 268x
video:38866kB audio:2336kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.904480%
答案 0 :(得分:1)
在输入后指定-ss
时,它会在指定时间后寻找第一个关键帧。因此,请指定较早的时间,或在输入前放置-ss
。在任何情况下,如果开始时间不是关键帧,则剪切文件将不会从那里开始。