FFMPEG没有按预期“切割”

时间:2015-08-01 20:01:48

标签: java video ffmpeg video-processing

我通过一个简单的system.process使用FFMPEG(来自java应用程序)并试图将视频剪切成块。我试图将其削减为10秒增量。我的FFMPEG命令如下所示:

# This dictionary lets you convert the text back to the integer.
# You might prefer to build it dynamically instead.

TEXT_TO_STATUS_INTEGER = {
    'Started': 1,
    'DONE': 0,
}

class MyModelAdmin(admin.ModelAdmin):
    def get_search_results(self, request, queryset, search_term):
        queryset, use_distinct = super(PersonAdmin, self).get_search_results(request, queryset, search_term)
        if search_term in TEXT_TO_STATUS_INTEGER:
            queryset |= self.model.objects.filter(status=TEXT_TO_STATUS_INTEGER[search_term])
    return queryset, use_distinct

他们看起来不对我,但我的视频没有以10秒的增量出现。他们似乎在随机点上“分裂”。关于我做错了什么想法?

供参考:

ffmpeg -i SampleVideo.mp4 -ss 00:00:00.00 -t 00:00:10.00 -strict -2 1438458522836/1438458522836_0.mp4
ffmpeg -i SampleVideo.mp4 -ss 00:00:10.01 -t 00:00:20.00 -strict -2 1438458522836/1438458536306_1.mp4
ffmpeg -i SampleVideo.mp4 -ss 00:00:20.01 -t 00:00:30.00 -strict -2 1438458522836/1438458546042_2.mp4
ffmpeg -i SampleVideo.mp4 -ss 00:00:30.01 -t 00:00:40.00 -strict -2 1438458522836/1438458561165_3.mp4
ffmpeg -i SampleVideo.mp4 -ss 00:00:40.01 -t 00:00:50.00 -strict -2 1438458522836/1438458577187_4.mp4
ffmpeg -i SampleVideo.mp4 -ss 00:00:50.01 -t 00:01:00.00 -strict -2 1438458522836/1438458587935_5.mp4

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:2)

FFMPEG documentation中所述:

  

-ss position(输入/输出)   当用作输入选项(-i之前)时,在此输入文件中寻找位置。 请注意,在大多数格式中,无法精确搜索,因此ffm​​peg将在位置之前寻找最接近的搜索点。当启用转码和-accurate_seek(默认值)时,搜索之间的这个额外段点和位置将被解码和丢弃。在进行流复制或使用-noaccurate_seek时,它将被保留。

     

当用作输出选项(在输出文件名之前)时,解码但丢弃输入,直到时间戳到达位置。

     

位置可以是以秒为单位,也可以是hh:mm:ss[.xxx]形式。

所以,你不会得到一个确切的起点,但是因为-t停止"听"当指针达到指定的时间时,你不会得到统一的时间,但它们都会在你想要的时候结束。

答案 1 :(得分:2)

今天遇到同样的问题,使用以下命令:

ffmpeg -ss 00:00:55.25 -i input.mp4 -t 00:00:04.75 -c copy output.mp4

这始终为我提供持续时间关闭几秒钟的输出。 在 this explanation 之后,我将命令重新定义为:

ffmpeg -i input.mp4 -ss 00:00:55.25 -to 00:01:00.0 -c copy output.mp4

现在精度范围从 0 到 0.02 秒。