• ffmpeg rtmp推流 视频转码


     ffmpeg -re -i 123.mp4 -vcodec libx264 -acodec aac -strict -2 -f flv rtmp://183.216.186.96:9935/live/555
    首先安装ffmpeg ,命令解释
    1. -re 本地帧频读数据,主要用于模拟捕获设备
    2. -i 输入您要处理的视频文件路径,123.mp4是当前路径下
    3. -vcodec libx264
    强制使用libx264编解码方式。 如果用copy表示原始编解码数据必须被拷贝
    4. -acodec acc
    使用acc 编解码
    5. -strict -2 -strict -2 之前是实验参数表示 aac音频编码 如果不使用aac音频编码使用使其的编码好像还需要导入第三方的音频编码库 比较麻烦 使用FFmpeg自带的aac音频编码要带上-strict -2 参数就可以了。带这个参数是为了使用aac音频编码。
    6.
    -f flv 强制使用flv格式
    7.rtmp://183.216.186.96:9935/live/555 nginx配置的推流地址,live是应用路由,9935时监听端口,555是推流房间号,也就是推流id,会以这个id生成文件,比如这里会生成 555.flv文件

    rtmp {
        server {
            listen 1935;
            chunk_size 4000;
            application live {
                live on;
            }
        }
    } 
    如上配置的rtmp 推流路径是 rtmp://ip:1935/live/roomId roomid是自定义的

    ffmpeg 视频格式转换
    # -f mp4 指定格式,-vcode指定视频编码器,-acode指定音频编码器,-y覆盖输出文件 ,强制使用codec编解码方式。 如果用copy表示原始编解码数据必须被拷贝。
    
    
    ffmpeg -i $path -f mp4 -vcodec copy -acodec copy -y $dirname/$basename.mp4 >>/opt/out.log 2>&1;
    
    #path - recorded file path (/tmp/rec/mystream-1389499351.flv) //记录文件路径
    #filename - path with directory omitted (mystream-1389499351.flv)
    #basename - file name with extension omitted (mystream-1389499351)
    #dirname - directory path (/tmp/rec)
    
    

      

  • 相关阅读:
    【Web技术】(一)IIS Web服务器的安装与配置
    《数据结构课程设计》图结构练习:List Component
    ExcelUtils 导表实例
    SSH整合常见错误
    mysql索引优化
    数据库三范式
    sql联接那点儿事儿
    面试java简答题
    集合类框架
    数据库连接类oracleHelper
  • 原文地址:https://www.cnblogs.com/lalalazar/p/15710001.html
Copyright © 2020-2023  润新知