ffmpeg使用ss与t参数对视频进行剪辑

摘要:
ffmpeg能够实现对视频进行剪辑操作,ss为指定视频剪切开头的起始时间,t制定视频的总长度,ss与t的单位均为:秒。

ffmpeg能够实现对视频进行剪辑操作,ss为指定视频剪切开头的起始时间,t制定视频的总长度,ss与t的单位均为:秒。

ffmpeg -ss 7200 -i 1080p.mp4 -c copy -t 900 1080psrc.mp4

-ss 指定视频剪切起始时间为2:00:00

-i 指定视频源文件

-c原始编解码数据必须被拷贝,即剪辑前后文件的编码方式保持一致

-t 制定剪取的视频长度

任务执行过程显示:

$ ffmpeg -ss 7200 -i 1080p.mp4 -c copy -t 9001080psrc.mp4
ffmpeg version 4.1.4-1build2 Copyright (c) 2000-2019the FFmpeg developers
  built with gcc 9 (Ubuntu 9.2.1-4ubuntu1)
  configuration: --prefix=/usr --extra-version=1build2 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
  libavutil      56. 22.100 / 56. 22.100libavcodec     58. 35.100 / 58. 35.100libavformat    58. 20.100 / 58. 20.100libavdevice    58.  5.100 / 58.  5.100libavfilter     7. 40.101 /  7. 40.101libavresample   4.  0.  0 /  4.  0.  0libswscale      5.  3.100 /  5.  3.100libswresample   3.  3.100 /  3.  3.100libpostproc    55.  3.100 / 55.  3.100Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '1080p.mp4':
Metadata:
    major_brand     : mp42
    minor_version   : 1compatible_brands: isommp423gp5
    creation_time   : 2019-07-31T13:32:46.000000Z
    encoder         : My MP4Box GUI 0.6.0.6 <http://my-mp4box-gui.zymichost.com>Duration: 03:01:11.42, start: 0.000000, bitrate: 3037 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 2794 kb/s, 23.98 fps, 23.98 tbr, 24k tbn, 47.95 tbc (default)
Metadata:
      creation_time   : 2019-07-31T13:30:02.000000Z
      handler_name    : 复鲁冒脮脽联脙脣4B好栒久栔� 蓝鹿芒双脳脰幕).Avengers.Endgame.2019.BD-1080p.X264.AAC.CHS.ENG-UUMp4.mp4
      encoder         : AVC Coding
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, 5.1, fltp, 238 kb/s (default)
Metadata:
      creation_time   : 2019-07-31T13:33:09.000000Z
      handler_name    : avengers.endgame.2019.1080p.bluray.x264-sparks.m4a
    Stream #0:2(und): Data: none (mp4s / 0x7334706D), 0 kb/s (default)
Metadata:
      creation_time   : 2019-07-31T13:33:12.000000Z
      handler_name    : GPAC MPEG-4OD Handler
    Stream #0:3(und): Data: none (mp4s / 0x7334706D), 0 kb/s (default)
Metadata:
      creation_time   : 2019-07-31T13:33:12.000000Z
      handler_name    : GPAC MPEG-4Scene Description Handler
Output #0, mp4, to '1080psrc.mp4':
Metadata:
    major_brand     : mp42
    minor_version   : 1compatible_brands: isommp423gp5
    encoder         : Lavf58.20.100Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 2794 kb/s, 23.98 fps, 23.98 tbr, 24k tbn, 24k tbc (default)
Metadata:
      creation_time   : 2019-07-31T13:30:02.000000Z
      handler_name    : 复鲁冒脮脽联脙脣4B好栒久栔� 蓝鹿芒双脳脰幕).Avengers.Endgame.2019.BD-1080p.X264.AAC.CHS.ENG-UUMp4.mp4
      encoder         : AVC Coding
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, 5.1, fltp, 238 kb/s (default)
Metadata:
      creation_time   : 2019-07-31T13:33:09.000000Z
      handler_name    : avengers.endgame.2019.1080p.bluray.x264-sparks.m4a
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] forhelp
frame=21607 fps=0.0 q=-1.0 Lsize=  352596kB time=00:14:59.98 bitrate=3209.4kbits/s speed=1.79e+03x    
video:325701kB audio:26302kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.168539%

使用ffprobe查看输出后的1080psrc.mp4文件属性:

$ ffprobe -i 1080psrc.mp4
ffprobe version 4.1.4-1build2 Copyright (c) 2007-2019the FFmpeg developers
  built with gcc 9 (Ubuntu 9.2.1-4ubuntu1)
  configuration: --prefix=/usr --extra-version=1build2 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
  libavutil      56. 22.100 / 56. 22.100libavcodec     58. 35.100 / 58. 35.100libavformat    58. 20.100 / 58. 20.100libavdevice    58.  5.100 / 58.  5.100libavfilter     7. 40.101 /  7. 40.101libavresample   4.  0.  0 /  4.  0.  0libswscale      5.  3.100 /  5.  3.100libswresample   3.  3.100 /  3.  3.100libpostproc    55.  3.100 / 55.  3.100Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '1080psrc.mp4':
Metadata:
    major_brand     : isom
    minor_version   : 512compatible_brands: isomiso2avc1mp41
    encoder         : Lavf58.20.100Duration: 00:15:01.21, start: 0.000000, bitrate: 3205 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 2960 kb/s, 23.98 fps, 23.98 tbr, 24k tbn, 47.95 tbc (default)
Metadata:
      handler_name    : 复鲁冒脮脽联脙脣4B好栒久栔� 蓝鹿芒双脳脰幕).Avengers.Endgame.2019.BD-1080p.X264.AAC.CHS.ENG-UUMp4.mp4
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, 5.1, fltp, 239 kb/s (default)
Metadata:
      handler_name    : avengers.endgame.2019.1080p.bluray.x264-sparks.m4a

免责声明:文章转载自《ffmpeg使用ss与t参数对视频进行剪辑》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Nodejs Date转字符串internal server error原因及解决下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

java之拦截器Interceptor

1,拦截器的概念java里的拦截器是动态拦截Action调用的对象,它提供了一种机制可以使开发者在一个Action执行的前后执行一段代码,也可以在一个Action执行前阻止其执行,同时也提供了一种可以提取Action中可重用部分代码的方式。在AOP中,拦截器用于在某个方法或者字段被访问之前,进行拦截然后再之前或者之后加入某些操作。目前,我们需要掌握的主要...

Android中实现按钮自动隐藏

//触摸显示悬浮的按钮@Overridepublic boolean onTouch(View v, MotionEvent event) {    if(!zoomControls.isShown()) {        //用一个定时器定时        final Timer timer = new Timer();        TimerTask...

前端播放m3u8格式视频

一、前端播放m3u8格式视频 <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <title>前端播放m3u8格式视频</title> <!--https://ww...

ffmpeg综合应用示例(三)——安卓手机摄像头编码

本文的示例将实现:读取安卓手机摄像头数据并使用H.264编码格式实时编码保存为flv文件。示例包含了 1、编译适用于安卓平台的ffmpeg库 2、在java中通过JNI使用ffmpeg 3、读取安卓摄像头数据并在后台线程中使用ffmpeg进行编码的基本流程 具有较强的综合性。 编译适用于安卓平台的ffmpeg库 平时我们编译ffmpeg类库都是在x86平...

基于ffmpeg不同编码方式转码后的psnr对比

一、测试说明: 源文件:1080psrc.mp4 时长:900秒 源文件信息:Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 2960 kb/s, 23.98 fps, 23.98 tbr, 24k tbn, 47.95 tbc (default)...

FFMPEG中关于ts流的时长估计的实现(转)

   最近在做H.265 编码,原本只是做编码器的实现,但客户项目涉及到ts的封装,搞得我不得不配合了解点ts方面的东西。下面技术文档不错,转一下。 ts流中的时间估计 我们知道ts流中是没有时间信息的,我门来看看ffmpeg是怎么估计其duration的 方法1.通过pts来估计 static void estimate_timings_from_...