zoukankan      html  css  js  c++  java
  • 移动端流媒体

    1. Android原生库

    MediaCodec是Android提供的用于对音视频进行编解码的类,它通过访问底层的codec来实现编解码的功能。

    不能跨平台,功能尚可,不需要集成第三方库。

    2. FFmpeg库

    跨平台,功能强大,安卓端动态库文件比较大(50MB)

    开源库:https://github.com/tanersener/mobile-ffmpeg

    镜像库:https://gitee.com/iplusplus/mobile-ffmpeg/

    文档:https://www.ffmpeg.org/ffmpeg-all.html

    命令说明:

    -acodec copy -vn -an
    指定音频编码器 copy:代表只拷贝源数据不编码解码 vn:代表无视频 an:代表无音频

    注意:在手机平台,不要再一帧内多次调用命令行,否则会有崩溃的可能性。 

    视频加速

    // 视频加速
    // 备注:调整速度倍率范围[0.25, 4]
    ffmpeg -i input.mp4 -an -filter:v "setpts=0.5*PTS" output.mp4

    视频音频合并

    // 视频音频合并
    // 注意:如果音频长度大于视频长度需要截断
    ffmpeg -i input.mp4 -i input.m4a -c:v copy -c:a aac -shortest output.mp4

    视频拼接

    // 视频拼接
    // 备注:支持MP4
    ffmpeg -f concat -safe 0 -i fileList.txt -c copy output.mp4
    
    // fileList.txt
    file 'a.mp4'
    file 'b.mp4'
    file 'c.mp4'

    提取音频

    // 提取音频
    ffmpeg -i input.mp4 -vn -codec copy output.m4a

    视频转换分辨率

    // 视频转换分辨率
    // 备注:1280:-1 会保持宽高等比缩放
    ffmpeg -i input.mp4 -vf scale=1280:720 output.mp4

    视频添加水印

    // 左上角
    ffmpeg -i input.mp4 -i logo.png -filter_complex overlay output.mp4
    // 右上角
    ffmpeg -i input.mp4 -i logo.png -filter_complex overlay=W-w output.mp4
    // 左下角
    ffmpeg -i input.mp4 -i logo.png -filter_complex overlay=0:H-h output.mp4
    // 右下角
    ffmpeg -i input.mp4 -i logo.png -filter_complex overlay=W-w:H-h output.mp4

    检测视频错误

    // 检测视频内容是否有错误
    // -v debug 会显示所有信息
    ffmpeg -v error -i input.mp4 -f null abc.mp4

    参考:https://www.jianshu.com/p/3c8c4a892f3c

    参考:https://www.jianshu.com/p/98293e17c824

  • 相关阅读:
    oracle plsql 统计
    oracle plsql 自定义异常
    oracle plsql 异常
    oracle 游标
    oracle 存储函数,更新库存
    oracle TRUNC()函数
    plsql 的三种循环
    plsql if
    plsql 记录型变量
    CAS示例环境部署及配置
  • 原文地址:https://www.cnblogs.com/TravelingLight/p/15160413.html
Copyright © 2011-2022 走看看