Ubuntu下Bento4(mp4info、mp4fragment、mp4dash)的安装及使用


操作系统:Ubuntu 16.04

安装

1. 下载

Downloads | Bento4中下载编译好的zip包,如:

wget http://zebulon.bok.net/Bento4/binaries/Bento4-SDK-1-5-1-629.x86_64-unknown-linux.zip

2. 解压

unzip Bento4-SDK-1-5-1-629.x86_64-unknown-linux.zip

3. 添加环境变量

编辑/etc/profile,将bento4目录下的/bin加入环境变量,如:

BENTO4_PATH=/home/xxx/Bento4-SDK-1-5-1-629.x86_64-unknown-linux/bin
export PATH=$PATH:$BENTO4_PATH

编辑完成后,使其立即生效:

source /etc/profile

之后,便可以直接在命令行使用mp4dashmp4fragmentmp4info等命令


使用

1. 步骤

  1. 使用mp4fragment对视频进行fragment
  2. 使用mp4dash对已fragment的视频进行切片

2. 方法

参考:MPEG DASH | Bento4

在使用mp4fragment之前,可以先用mp4info查看之前ffmpeg生成的视频信息:

mp4info input.mp4

在输出信息中,注意到fragments: no

...
Movie:
  duration:   xxxxxx ms
  time scale: xxxx
  fragments:  no
...

表明视频还未经过fragment处理

之后,视频切片的具体操作为:

  1. 使用mp4fragment,命令格式为(指定fragment时长为2s):

    mp4fragment --fragment-duration 2000 input.mp4 fragmented.mp4
    
  2. 使用mp4dash进行切片,命令格式为:

    mp4dash fragmented.mp4
    

    也可以同时将多个分辨率的视频进行切片,命令格式为:

    mp4dash fragmented_1000.mp4 fragmented_2000.mp4 fragmented_3000.mp4
    

*注意,使用mp4dash时,若视频未经过fragment处理,则会报错:

ERROR: file 1 is not fragmented (use mp4fragment to fragment it)

猜你喜欢

转载自blog.csdn.net/LvGreat/article/details/103528864