zoukankan      html  css  js  c++  java
  • ffmpeg对视频封装和分离

    使用ffmpeg对视频封装和分离分离
    分离
    比如你的文件是 video+audio.mp4
    分离视频出来:ffmpeg -i video+audio.mp4 -vcodec copy -an video.mp4
    分离音频出来:ffmpeg -i video+audio.mp4 -acodec copy -vn Audio.mp3

    封装

    如果视频流.avi里面的视频编码本身是mpeg4就:
    ffmpeg -i 视频流.avi -i 音频流.mp3 -vcodec copy -acodec copy 合并.mp4 

    如果 视频流.avi里面的视频编码不是mpeg4,而你又想得到mp4就:
    ffmpeg -i 视频流.avi -i 音频流.mp3 -vcodec mpeg4 -acodec copy 合并.mp4 

    --其他命令见下文,仅供参考,里边有一些是错的,还没时间整理

    http://blog.csdn.net/weiyuefei/article/details/51678582

     http://www.cnblogs.com/dwdxdy/p/3240167.html

    在使用hls技术播放视频流时,首先要把视频转换为ts片和一个m3u8播放列表,使用ffmpeg进行该转换时(低版本ffmpeg不支持直接转,只能现在转换成ts,再用m3u8-segmenter切片,笔者使用的是ffmpeg version-2.1.2),通常使用如下命令:

    ffmpeg -i input.mp4 -c:v libx264 -c:a aac -strict -2 -f hls output.m3u8

    但是在此状态下,默认的每片长度为2秒,m3u8文件中默认只保存最新的5条片的信息,导致最后播放的时候只能播最后的一小部分。

    实际上还有一些其他参数可以控制这些内容:

    -hls_time n: 设置每片的长度,默认值为2。单位为秒

    -hls_list_size n:设置播放列表保存的最多条目,设置为0会保存有所片信息,默认值为5

    -hls_wrap n:设置多少片之后开始覆盖,如果设置为0则不会覆盖,默认值为0.这个选项能够避免在磁盘上存储过多的 片,而且能够限制写入磁盘的最多的片的数量

    -hls_start_number n:设置播放列表中sequence number的值为number,默认值为0

    注意:播放列表的sequence number 对每个segment来说都必须是唯一的,而且它不能和片的文件名(当使用wrap选项时,文件名有可能会重复使用)混淆

  • 相关阅读:
    ovs QOS
    OpenvSwitch端口镜像
    MyCat入门指南
    Mycat跨分片Join
    MyCAT 命令行监控
    MyCat的分片规则
    FreeMarker初探--介绍
    FreeMarker初探--安装FreeMarker
    linux 安装配置zookeeper
    Maven 环境搭建及相应的配置
  • 原文地址:https://www.cnblogs.com/zhangyfr/p/6611133.html
Copyright © 2011-2022 走看看