zoukankan      html  css  js  c++  java
  • ffmpeg相关用法

    废话:公司项目需要学习一下ffmpeg处理音频流相关知识,所以文中大多跟音频相关的简单使用,现在还处于只知其一不知其二的阶段,越学越觉得ffmpeg很强大,如文章有任何错误之处还望指出,之后如果学到更多的东西会更新,英语渣渣觉得要是能把原文档啃下来肯定能学到很多,文档很详细,推荐大家去看,碎碎念结束
     
    FFmpeg官网:http://ffmpeg.org/

    常用语句

    1、文件或流转推http流

    ffmpeg -re -i D:11.mp4 -vcodec copy -acodec copy -listen 1 -f flv http://127.0.0.1:8088/test
    -re:用于控制文件传输速度,流输入可不要;
    listen 1:限制拉流端只能一个,可设置为2,但在命令行中不可取
    flv:为格式,一般由输入流的格式决定,常用还有ogg
    vcodec copy&acodec copy:应该可以理解为复制视频和音频流
    mp3同理ffmpeg -re -i D:CloudMusic2.mp3  -c copy -listen 1 -f mp3 http://127.0.0.1:7089

    2、文件或流转推rtsp流

    ffmpeg -re -stream_loop 100 -i D:CloudMusic320.mp3 -vn  -vcodec copy -acodec copy  -map_metadata -1 -rtsp_transport tcp -f rtsp rtsp://172.16.0.29:554/20200118/test
    -stream_loop:循环播放,后接数字100为循环次数
    -vn:不传输视频,类似还有-an,不传输音频,此处用于传输mp3时不传输音频流的其他信息,类似于作者,流派,同样能做到此作用的还可以是  -map 0:a ,代表只传输0通道的数据流,也就是音频流
     -map_metadata -1:设置mp3的信息,类似于作者,流派,封面等

    3、文件或流转推rtp流

    ffmpeg -re -f concat -safe 0 -i  D:CloudMusic320.txt -map 0:a -vcodec copy -acodec copy -map_metadata -1 -f rtp rtp://172.16.0.29:8088
    -concat:用户合并音频流,可以是多个音频文件,也可以是多个音频文件路径组合的txt文件,格式为:

    file 'input1.mkv'

    file 'input2.mkv'

    file 'input3.mkv

    如果文件名有奇怪的字符,要先转义,file后面是音频路径,缺陷是不能同时和stream_loop使用,要实现多文件循环只能在TXT文件重复音频路径

    -safe 0:应该可以理解为安全打开文件

    4、文件或流转码并同时推流(rtsp、rtp等)

    ffmpeg -re -i D:CloudMusicTM.aac -c:a mp3  -vn -f rtp rtp://172.16.0.29:5548     //aac转mp3,同理可替换
    -c:a:0 copy 告诉ffmpeg复制音轨而不重新编码
    -c:a mp3 告诉ffmpeg复制音轨而重新编码
    -vn:去除视频流,转播rtp无法多路复用,可能出现报错Only one stream supported in the RTP muxer
    :无法接收rtp流转发rtp流,因为rtp播发需要sdp文件,sdp文件在接收流完成后产生,可能出现的报错
    Unable to receive RTP payload type 97 without an SDP file describing it

    5、文件或流转码并同时推流rtmp(监控用)

    ffmpeg -rtsp_transport tcp -i "rtspUrl" -vcodec libx264 -vprofile baseline -tune zerolatency -preset superfast -f flv rtmp://127.0.0.1:8081/live/test
    -tune zerolatency:主要用于降低延迟,还有其他选项
    -preset superfast:同上 ,解释如下
     

    最后附上大佬博客https://blog.csdn.net/leixiaohua1020/article/details/15811977

  • 相关阅读:
    POJ 2752 Seek the Name, Seek the Fame
    POJ 2406 Power Strings
    KMP 算法总结
    SGU 275 To xor or not to xor
    hihocoder 1196 高斯消元.二
    hihoCoder 1195 高斯消元.一
    UvaLive 5026 Building Roads
    HDU 2196 computer
    Notions of Flow Networks and Flows
    C/C++代码中的笔误
  • 原文地址:https://www.cnblogs.com/duojiao/p/14652186.html
Copyright © 2011-2022 走看看