zoukankan      html  css  js  c++  java
  • 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)
    
    

      

  • 相关阅读:
    关于Spring的destroy-method和scope="prototype"不能共存问题
    关于引入文件名字问题
    技术学习路
    web.xml文件配置
    性能测试中的TPS与HPS
    设计模式简介
    Cause of 400 Bad Request Errors
    vim使用技巧
    如何更好地利用Pmd、Findbugs和CheckStyle分析结果
    Java基础知识
  • 原文地址:https://www.cnblogs.com/lalalazar/p/15710001.html
Copyright © 2011-2022 走看看