`

ffmpeg RTMP

阅读更多
ffmpeg -re -i /home/lee/video.mp4 -vcodec copy -acodec copy -b:v 800k -b:a 32k -f flv rtmp://localhost/videotest

这里有好几个参数,

-re : 表示使用文件的原始帧率进行读取,因为ffmpeg读取视频帧的速度很快,如果不使用这个参数,ffmpeg可以在很短时间就把video.mp4中的视频帧全部读取完并进行推流,这样就无法体现出视频播放的效果了。官方文档中对这个参数的解释是:
[-re (input)
Read input at native frame rate. Mainly used to simulate a grab device, or live input stream (e.g. when reading from a file). Should not be used with actual grab devices or live input streams (where it can cause packet loss). By default ffmpeg attempts to read the input(s) as fast as possible. This option will slow down the reading of the input(s) to the native frame rate of the input(s). It is useful for real-time output (e.g. live streaming).

作者:PaperFish
链接:https://www.jianshu.com/p/06c2025edcd3
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。]

-i :这个参数表示输入 ,后面/home/lee/video.mp4 就是输入文件。

-vcodec copy : -vcodec表示使用的视频编解码器 ,前缀v表示video。后面紧跟的copy 表示复制使用源文件的视频编解码器,比如原文件的编解码器(codec)是h264,则这里就使用h264。

-acodec copy : -acodec表示使用的音频编解码器,前缀a表示audio。后面的copy 表示使用源文件的音频编解码器。

-b:v 800k : -b:v表示视频的比特率(bitrate) ,为800k。

-b:a 32k : 表示音频的比特率为32k。

-f flv : -f表示format ,就是强制输出格式为flv,这一步其实也叫封装(mux),封装要做的事就是把视频和音频混合在一起,进行同步。紧跟在后面的rtmp://localhost/videotest 表示输出的"文件名",这个文件名可以是一个本地的文件,也可以指定为rtmp流媒体地址。指定为rtmp流媒体地址后,则ffmpeg就可以进行推流。


其中输出了一些源文件的信息。最下面的是一些帧数据,下面这些帧数据会一直输出直到视频推送完毕。

打开新的命令行,输入:


ffplay rtmp://localhost/videotest

表示使用ffplay 来播放指定流媒体文件。ffplay 是ffmpeg 中自带的媒体播放程序。然后就可以看到下面的视频了
分享到:
评论

相关推荐

    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的推流操作,帮助你理解这一核心技术。 首先,RTMP(Real-Time Messaging Protocol)是一种用于实时数据传输的协议,常用于直播平台,允许内容创建者将音视频流推...

    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 是一个开源的跨平台多媒体处理框架,能够处理音频、视频的编码、解码、转换和流化等多种...

    支持 推流 265 rtmp的ffmpeg 64位库

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

    android-ffmpeg-with-rtmp-master

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

    利用ffmpeg实现RTSP,RTMP推流以及保存到本地录像文件

    需要下载和编译ffmpeg库,libfdk-aac库,x264库。 编译这些库,非常耗时。如果懒得去编译, 可以直接使用已经编译好的stream_push.dll动态库。 stream_push目录是实现核心推流和保存本地录像工程, demo目录是简单...

    FFmpeg - 推流rtsp/rtmp实时加入sei自定义信息,附添加发送与接收解析代码

    本资源包含完整的Vs+Qt+FFmpeg代码。 资源介绍:https://blog.csdn.net/automoblie0/article/details/124830219 资源视频介绍:https://www.bilibili.com/video/BV1pN4y137Mo/?spm_id_from=333.999.0.0 【视频中展示...

Global site tag (gtag.js) - Google Analytics