当前位置: 首页 > 知识库问答 >
问题:

ffmpeg在指定的开始位置剪切视频

柯立果
2023-03-14

我正在尝试使用ffmpeg来剪切avi文件的一部分。我知道以前有人问过类似的问题,但我已经搜索了大量其他帖子,我看不出我哪里出错了。

我在7秒视频上测试的命令行参数是:

-ss 00:00:01-t 00:00:01-i"C:\录音\2013-09-11\摄像机1\摄像机1_2013-09-11_22-23-43.avi"-vcodec复制-acodec复制"I:\clip2.avi"

输出为:

ffmpeg版本N-56254-gb7bd688版权所有(c)2000-2013 ffmpeg开发人员于2013年9月12日21:00:14使用gcc 4.7.3(gcc)配置构建:--启用gpl--启用-version3--禁用-w32threads--启用avisynth--启用bzlib--启用fontconfig--启用-frei0r--启用gnutls--启用iconv--启用libass--启用libbluray--启用libcaca--启用libfreetype--启用libgsm--enable libilbc--enable libmodplug--enable-libmp3lame--enable libopencore amrnb--enable libopencore amrwb--enable libopenjpeg--enable libopus--enable librtmp--enable libschroedinger--enable libsoxr--enable libspeex--enable libtheora--enable libtwoleme--enable libvidstab--enable libvo aacenc--enable libvo amrwbenc--enable libvorbis--enable libvpx--enable-libx264--enable libxavs--启用libxvid—启用zlib libavutil 52。43.100 / 52. 43.100 libavcodec 55。31.101 / 55. 31.101 libavformat 55。16.102 / 55. 16.102 libav设备55。3.100 / 55. 3.100 libavfilter 3。84.100 / 3. 84.100 libswscale 2。5.100 / 2. 5.100 libswresample 0。17.103 / 0. 17.103 libpostroc 52。3.100 / 52. 3.100

Guessed Channel Layout for  Input Stream #0.1 : mono

Input #0, avi, from 'C:\recordings\2013-09-11\Camera 1\Camera 1_2013-09-11_22-23-43.avi':
  Duration: 00:00:07.03, start: 0.000000, bitrate: 787 kb/s
    Stream #0:0: Video: msmpeg4v3 (DIV3 / 0x33564944), yuv420p, 800x448, 30 fps, 30 tbr, 30 tbn, 30 tbc
    Stream #0:1: Audio: adpcm_ms ([2][0][0][0] / 0x0002), 44100 Hz, mono, s16, 176 kb/s
Output #0, avi, to 'I:\clip2.avi':
  Metadata:
    ISFT            : Lavf55.16.102
    Stream #0:0: Video: msmpeg4v3 (DIV3 / 0x33564944), yuv420p, 800x448, q=2-31, 30 fps, 30 tbn, 30 tbc
    Stream #0:1: Audio: adpcm_ms ([2][0][0][0] / 0x0002), 44100 Hz, mono, 176 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
frame=   88 fps=0.0 q=-1.0 Lsize=     226kB time=00:00:02.03 bitrate= 908.7kbits/s    

video:146kB audio:66kB subtitle:0 global headers:0kB muxing overhead 6.345259%

我最后得到了一个3秒长的剪辑!!!??在输出中,我可以看到-ss标志被完全忽略。

有人能看出我错在哪里吗?

谢谢

共有3个答案

乐正洲
2023-03-14

只是不要使用codec copy命令。删除“-vcodec copy-acodec copy”并尝试,您将获得准确的复制时间

计向晨
2023-03-14

-我是为了持续时间。例如,如果你想要5秒钟的视频,应该写

-ss 00:00:01-t 00:00:05-i“C:\recordings\2013-09-11\Camera 1\Camera 1\u 2013-09-11\u 22-23-43.avi”-vcodec副本-acodec副本“i:\clip2.avi”

-ss是写入时的偏移量-ss 00:00:01,写入时留给您6秒-t 00:00:01,即制作1秒而不是3秒的视频。

高高雅
2023-03-14

这里有一些提示:https://trac.ffmpeg.org/wiki/Seeking使用FFmpeg

请参阅“快速搜索”与“精确搜索”。为了精确查找:

  • -ss必须在我之后

我怀疑您的输入帧落在任何关键帧之外,因此“快速搜索”(-ss before-I)失败。

<罢工> 也 -t通常将多个帧作为其输入,我不确定它是否接受时间码。考虑使用 -t 1代替或 -to 00:00:02代替(注意:-to,而不是-t)。 编辑:slhck关于-t-vframe是正确的,请参阅评论。

 类似资料:
  • 问题内容: 我尝试通过使用以下命令使用视频的开始和结束时间剪切视频 通过使用上述命令,我想将视频从剪切为。但是,这并不是在这段时间之间剪切视频,而是在前11秒内剪切视频。谁能帮我解决这个问题? 编辑1: 我试图通过使用mark4o建议的以下命令进行剪切 但是显示以下错误。 编码器“ aac”是实验性的,但未启用实验性编解码器 所以我在命令中添加了 现在工作正常。 问题答案: 您可能在3秒标记处没有

  • 在用图像创建mp4幻灯片时,我在网上为zoompan提供了一些示例,但我仍然没有完全掌握如何使它们从图像中的某个位置开始。下面是典型的命令: ffmpeg-i image-000。jpg-filter_complex“color=c=black:r=60:s=1920x1080[demo];[0:v]格式=pix_fmts=yuva420p,比例=8000:-1,zoompan=z='min(zo

  • 我试图剪掉我得到的视频的最后8秒;问题是ffmpeg选择了最后10秒,我真的不知道为什么。我查了一下,“0:00:00”和视频的有效开始之间没有偏移,所以为什么要多拍几秒呢? 这是我的代码: 这是输出: ffmpeg版本N-90893-gcae6f806a6版权所有(c)2000-2018 ffmpeg 使用GCC7.3构建的开发人员。0(GCC)配置:-启用gpl --enable-versio

  • 如果我尝试对其运行第一个命令行,则输出视频将给出一个错误。 所有的反馈赞赏缩短一个视频,然后添加结尾。 干杯!瑞安

  • 进入视频页面,在视频列表-操作,点击剪切 按钮 弹出视频剪切操作界面 1)选择保留片段 根据剪切需求,点击“设为开始时间”和“设为结束时间”确定视频分段的开始时间及结束时间;若需要多段视频,可以分别设置每段视频的起始时间。 2)命名剪切后视频名称 3)选择分类 4)可以预览视频剪切任务 5)确认剪切后,点击提交任务。 任务添加后可在视频页面,点击剪辑管理 查看视频剪切任务进度 视频剪切完后,可在视

  • 我尝试使用以下命令使用视频的开始和结束时间来剪切视频 通过使用上述命令,我想将视频从剪切到。但它并不是在这两个时间之间剪掉视频,而是剪掉前11秒的视频。有谁能帮我解决这个问题吗? 编辑1: 我尝试通过使用以下命令来剪切,这是由mark4o建议的 但显示出以下错误。 编码器'AAC'是实验性的,但未启用实验性编解码器 因此我将添加到命令中, 现在一切正常。