FFMPEG-如何对视频按时长切片与压缩

本文详细介绍了如何利用ffmpeg开源组件对视频进行按时长切片和压缩。首先,通过ffmpeg获取视频时长,然后使用特定命令进行切片,如将1.5小时的电影切割成固定时长的小文件。最后,演示了压缩视频的命令,以减少文件大小而不降低画质。
摘要由CSDN通过智能技术生成

本文介绍如何用ffmpeg开源组件按时长进行切片,举一个例子,一个视频网站,拿到一个时长1.5小时的电影,用户点击播放时,常用的技术方案就是把一个完整的大文件,转码后切成按固定时长的小文件,分发到cdn上去,这样用户就可以实现就近下载,包括拖放等操作,这里面有比较多的技术细节,本文只讨论第一步,按时长切片。

一 获取视频时长

ffmpeg安装后,直接执行ffmpeg -i 文件就可以从内容中获取到时长,如下图所示,其中的Duration就是时长

wangyachangdeMacBook-Pro:ffmpeg wangyachang$ /usr/local/ffmpeg/bin/ffmpeg -i movie.mp4 
ffmpeg version 3.0.2 Copyright (c) 2000-2016 the FFmpeg developers
  built with Apple LLVM version 7.0.2 (clang-700.1.81)
  configuration: --prefix=/usr/local/ffmpeg/ --disable-yasm
  libavutil      55. 17.103 / 55. 17.103
  libavcodec     57. 24.102 / 57. 24.102
  libavformat    57. 25.100 / 57. 25.100
  libavdevice    57.  0.101 / 57.  0.101
  libavfilter     6. 31.100 /  6. 31.100
  libswscale      4.  0.100 /  4.  0.100
  libswresample   2.  0.101 /  2.  0.101
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'movie.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 1
    compatible_brands: isom
    creation_time   : 2015-11-04 06:54:54
    encoder         : FormatFactory : www.pcfreetime.com
  Duration: 00:03:25.01, start: 0.000000, bitrate: 1101 kb/s
    Stream #0:0(und): Video: mpeg4 (Simple Profile) (mp4v / 0x7634706D), yuv420p, 720x480 [SAR 32:27 DAR 16:9], 977 kb/s, 24 fps, 24 tbr, 24k tbn, 24 tbc (default)
    Metadata:
      creation_time   : 2015-11-04 06:54:54
      handler_name    : video
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 122 kb/s (default)
    Metadata:
      creation_time   : 2015-11-04 06:54:54
      handler_name    : sound


不过上面的信息是打印到标准出错的,用下面的命令可以取到对应信息

wangyachangdeMacBook-Pro:ffmpeg wangyachang$ /usr/local/ffmpeg/bin/ffmpeg -i movie.mp4 2>&1 | grep Duration
  Duration: 00:03:25.01, start: 0.000000, bitrate: 1101 kb/s
  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值