`

ffmpeg RTMP

 
阅读更多
1、ffmpeg 推送视频文件,音视频的编码格式只能为H264、AAC。
    ffmpeg -re -i "E:\片源\复仇者联盟720p.mov" -vcodec copy -acodec copy -f flv rtmp://192.168.11.75/live/test1  
    ffmpeg -re -i "E:\片源\复仇者联盟720p.mov" -vcodec copy -acodec copy -f flv rtmpt://192.168.11.75:8080/live/test1

2、网络摄像机 rtsp流转推rtmp直播(不过有丢包情况,还请大家多给指点)
ffmpeg -i rtsp://ip address/original -crf 30 -preset ultrafast -acodec aac -strict experimental -ar 44100 -ac 2 -b:a 96k -vcodec libx264 -r 25 -b:v 500k -s 640*480 -f flv rtmp://ip address/live/stram
ffmpeg参数说明:
基本选项:视频选项:高级视频选项音频选项:字幕选项:Audio/Video 抓取选项:
-formats 输出所有可用格式
-f fmt 指定格式(音频或视频格式)
-i filename 指定输入文件名,在linux下当然也能指定:0.0(屏幕录制)或摄像头
-y 覆盖已有文件
-t duration 记录时长为t
-fs limit_size 设置文件大小上限
-ss time_off 从指定的时间(s)开始, [-]hh:mm:ss[.xxx]的格式也支持
-itsoffset time_off 设置时间偏移(s),该选项影响所有后面的输入文件。该偏移被加到输入文件的时戳,定义一个正偏移意味着相应的流被延迟了 offset秒。 [-]hh:mm:ss[.xxx]的格式也支持
-title string 标题
-timestamp time 时间戳
-author string 作者
-copyright string 版权信息
-comment string 评论
-album string album名
-v verbose 与log相关的
-target type 设置目标文件类型("vcd", "svcd", "dvd", "dv", "dv50", "pal-vcd", "ntsc-svcd", ...)
-dframes number 设置要记录的帧数
-b 指定比特率(bits/s),似乎ffmpeg是自动VBR的,指定了就大概是平均比特率
-bitexact 使用标准比特率
-vb 指定视频比特率(bits/s)
-vframes number 设置转换多少桢(frame)的视频
-r rate 帧速率(fps) (可以改,确认非标准桢率会导致音画不同步,所以只能设定为15或者29.97)
-s size 指定分辨率 (320x240)
-aspect aspect 设置视频长宽比(4:3, 16:9 or 1.3333, 1.7777)
-croptop size 设置顶部切除尺寸(in pixels)
-cropbottom size 设置底部切除尺寸(in pixels)
-cropleft size 设置左切除尺寸 (in pixels)
-cropright size 设置右切除尺寸 (in pixels)
-padtop size 设置顶部补齐尺寸(in pixels)
-padbottom size 底补齐(in pixels)
-padleft size 左补齐(in pixels)
-padright size 右补齐(in pixels)
-padcolor color 补齐带颜色(000000-FFFFFF)
-vn 取消视频
-vcodec codec 强制使用codec编解码方式('copy' to copy stream)
-sameq 使用同样视频质量作为源(VBR)
-pass n 选择处理遍数(1或者2)。两遍编码非常有用。第一遍生成统计信息,第二遍生成精确的请求的码率
-passlogfile file 选择两遍的纪录文件名为file
-newvideo 在现在的视频流后面加入新的视频流
-pix_fmt format set pixel format, 'list' as argument shows all the pixel formats supported
-intra 仅适用帧内编码
-qscale q 以<数值>质量为基础的VBR,取值0.01-255,约小质量越好
-loop_input 设置输入流的循环数(目前只对图像有效)
-loop_output 设置输出视频的循环数,比如输出gif时设为0表示无限循环
-g int 设置图像组大小
-cutoff int 设置截止频率
-qmin int 设定最小质量,与-qmax(设定最大质量)共用,比如-qmin 10 -qmax 31
-qmax int 设定最大质量
-qdiff int 量化标度间最大偏差 (VBR)
-bf int 使用frames B 帧,支持mpeg1,mpeg2,mpeg4
-ab 设置比特率(单位:bit/s,也许老版是kb/s)前面-ac设为立体声时要以一半比特率来设置,比如192kbps的就设成96,转换 默认比特率都较小,要听到较高品质声音的话建议设到160kbps(80)以上。
-aframes number 设置转换多少桢(frame)的音频
-aq quality 设置音频质量 (指定编码)
-ar rate 设置音频采样率 (单位:Hz),PSP只认24000
-ac channels 设置声道数,1就是单声道,2就是立体声,转换单声道的TVrip可以用1(节省一半容量),高品质的DVDrip就可以用2
-an 取消音频
-acodec codec 指定音频编码('copy' to copy stream)
-vol volume 设置录制音量大小(默认为256) <百分比> ,某些DVDrip的AC3轨音量极小,转换时可以用这个提高音量,比如200就是原来的2倍
-newaudio 在现在的音频流后面加入新的音频流
-sn 取消字幕
-scodec codec 设置字幕编码('copy' to copy stream)
-newsubtitle 在当前字幕后新增
-slang code 设置字幕所用的ISO 639编码(3个字母)
-vc channel 设置视频捕获通道(只对DV1394)
-tvstd standard
转换为flv: 
    ffmpeg -i test.mp3 -ab 56 -ar 22050 -b 500 -r 15 -s 320x240 test.flv 
    ffmpeg -i test.wmv -ab 56 -ar 22050 -b 500 -r 15 -s 320x240 test.flv 

 转换文件格式的同时抓缩微图: 
    ffmpeg -i "test.avi" -y -f image2 -ss 8 -t 0.001 -s 350x240 'test.jpg' 

  对已有flv抓图: 
    ffmpeg -i "test.flv" -y -f image2 -ss 8 -t 0.001 -s 350x240 'test.jpg' 

  转换为3gp:
    ffmpeg -y -i test.mpeg -bitexact -vcodec h263 -b 128 -r 15 -s 176x144 -acodec aac -ac 2 -ar 22500 -ab 24 -f 3gp test.3gp 
    ffmpeg -y -i test.mpeg -ac 1 -acodec amr_nb -ar 8000 -s 176x144 -b 128 -r 15 test.3gp 
分享到:
评论

相关推荐

    ffmpeg rtmp拉流转发

    ffmpeg 从Nginx拉取rtmp流,然后通过rtmp推流地址,推流到另一个rtmp服务器。文为linux 源码,需要在linux编译。编译makefile自行编写。文件源码已在生产环境使用,可以正常拉取、推送rtmp视频流

    FFMPEG USB摄像头RTMP推流.zip

    在“FFMPEG USB摄像头RTMP推流.zip”这个压缩包中,主要涉及到的是利用FFmpeg通过USB摄像头进行视频采集,并通过RTMP协议将H264编码的视频流推送到服务器的过程。 首先,我们需要理解FFmpeg如何与USB摄像头交互。在...

    ffmpeg rtmp推流源码

    一份可以直接将本地视频推送到服务器的推流源代码, 是学习推流的很好的资料, 代码基于ffmpeg rtmp推流, 采用nginx+rtmp module搭建本地流媒体服务器

    Android ffmpeg rtmp stream推和收,简单示例

    Android ffmpeg rtmp stream推和收,基于雷大师的代码,简单示例。NDK基于最新的10 推有点取巧,,但是抛砖引玉,如想自己处理可以研究。可借鉴雷大师代码,也可以看看ffmpeg如何抛出错误。 播也有点取巧,网络全丢...

    QT+FFMPEG 拉取rtmp裸h264流,播放

    QT+FFMPEG技术结合,可以实现从RTMP服务器接收裸H264流并实时播放的功能。在本文中,我们将深入探讨这个话题,讲解如何使用这两种强大的工具来完成所述的任务。 首先,让我们了解一下QT(Qt)框架。QT是Trolltech...

    Qt+FFmpeg实现RTMP流媒体播放器

    在本文中,我们将深入探讨如何使用Qt框架与FFmpeg库来构建一个功能完善的RTMP流媒体播放器。首先,我们要了解这两个关键组件的作用及其在播放器开发中的角色。 **Qt框架** 是一个跨平台的应用程序开发框架,用C++...

    最简单的基于FFmpeg的推流器(以推送RTMP为例)

    在本文中,我们将深入探讨如何使用FFmpeg实现一个最简单的基于RTMP(Real-Time Messaging Protocol)的推流器,这允许你将本地视频内容实时推送到流媒体服务器,如YouTube Live、Twitch等。 首先,让我们理解RTMP...

    C#开发FFMPEG例子(API方式) FFmpeg拉取RTMP流并播放原始源码

    在C#中使用FFmpeg API进行开发,可以实现对多媒体数据的高效处理,例如拉取RTMP流并播放。下面将详细介绍如何在C#中使用FFmpeg API来实现这个功能。 首先,你需要在项目中引入FFmpeg的C#绑定库,这通常通过NuGet包...

    ffmpeg 编译 支持 h265 rtmp 推流

    在本教程中,我们将详细讲解如何在Windows环境下,使用MSYS2 MinGW 64-bit编译FFmpeg,使其支持H265编码和RTMP推流。 一、安装MSYS2 MinGW 64-bit 1. 首先,从MSYS2官方网站下载最新版本的MSYS2安装程序。 2. 安装...

    ffmpeg-rtmp-h.265-all.tar.gz

    在本案例中,"ffmpeg-rtmp-h.265-all.tar.gz" 是一个针对CentOS 7系统编译的FFmpeg软件包,特别优化以支持H.265(HEVC)编码和RTMP推流功能。这个压缩包的创建者可能已经完成了所有必要的配置、编译和安装步骤,以便...

    android, ffmpeg , rmtp, 播放器 , 直播

    在Android上实现RTMP直播,需要使用支持该协议的库,如librtmp或FFmpeg。开发人员需要构建一个流媒体服务器,接收并处理来自移动端的RTMP流,同时客户端也需要一个能够发送RTMP数据的播放器。实现RTMP直播的关键在于...

    ffmpeg-rtmp

    FFmpeg-RTMP 是一个基于 FFmpeg 工具集的扩展版本,特别针对RTMP(Real-Time Messaging Protocol)协议进行了优化。FFmpeg 是一个开源的跨平台多媒体处理框架,能够处理音频、视频的编码、解码、转换和流化等多种...

    ffmpeg的h264推流rtmp

    在“ffmpeg的h264推流rtmp”这个主题中,我们将深入探讨如何使用FFmpeg将H264编码的视频流通过RTMP协议推送到服务器。 H264是一种高效的视频编码标准,广泛应用于高清视频传输和存储,因为它可以在较低带宽下提供高...

    android-ffmpeg-with-rtmp-master

    【Android FFmpeg with RTMP Master】是一个开源项目,专注于在Android平台上使用FFmpeg库实现实时流媒体到RTMP服务器。这个项目对于开发者来说是一个宝贵的资源,它展示了如何在Android应用中集成FFmpeg来处理音...

    支持 推流 265 rtmp的ffmpeg 64位库

    在本文中,我们将深入探讨FFmpeg如何支持H.265(也称为HEVC)编码的RTMP推流,以及如何在64位系统上使用此功能。 H.265是新一代的视频编码标准,相比前一代的H.264,它能在相同的画质下显著减少视频文件的大小,这...

    FFmpeg直播推流视频到nginx rtmp服务

    本资源提供了将视频通过FFmpeg推流到nginx RTMP服务的相关组件和配置。 首先,FFmpeg的使用涉及到了音视频的编码和封装。在本地文件推流的过程中,FFmpeg会读取视频文件,对其进行解码(如果需要),再重新编码为...

    ffmpeg-3.4.8-rtmp-hevc-src-linux.zip

    在你提供的资料中,`ffmpeg-3.4.8-rtmp-hevc-src-linux.zip` 是一个针对Linux平台的FFmpeg源码包,已经过修改以支持RTMP协议下的H265(HEVC)编码视频的推流和拉流。这意味着你可以使用这个源码构建适用于你的特定...

    将rtmp流保存成MP4或者flv格式视频(参考资料包括:librtmp实现flv,ffmpeg实现MP4和mp4v2实现MP4)

    本篇文章将详细探讨如何将RTMP流转化为MP4或FLV格式的视频,以及相关的技术实现,包括librtmp、ffmpeg和mp4v2库。 首先,让我们来理解RTMP协议。RTMP是一种专为实时数据传输设计的协议,主要用于音频、视频数据的...

    windows系统下基于FFMPEG+QT设计的rtmp流媒体播放器_v1.0版本

    这是在windows下使用QT+FFMEG设计的拉流软件,可以拉取流媒体的视频和音频数据进行播放。 源码地址:https://blog.csdn.net/xiaolong1126626497/article/details/105412560?utm_source=app

Global site tag (gtag.js) - Google Analytics