【流媒体技术】流媒体(2)使用ffmpeg推流

news/2024/7/10 20:23:30 标签: 流媒体服务器, 技术, ffmpeg, 视频


1.下载准备

首先下载ffmpeg,按照我一贯的风格,喜欢去官网下载

打开ffmpeg官方网站http://ffmpeg.org/


点击download进入下载页面



选择windows图标



点击windows Builds


选择版本信息,选择好后就可以下载使用了

2.使用

ffmpeg解压到本地,然后打开bin目录


复制目录地址,然后打开cmd命令行


ok,我们打开两个这样的命令行,然后同时都进入到bin目录下,一个用于推流,一个用于播放,当然可以打开多个同时播放,但是在推流之前,我们还需要做一件事情才可以,那就是转码,推流的视频格式必须是音频AAC视频H264编码,怎么转呢?我们用ffmpeg库,输入以下指令进行转码

ffmpeg -i test.mp4 -ar 22050 output.flv
参数test.mp4为我们需要转码的视频,output.flv是已经转码的视频名称,为了方便,我们将test.mp4文件拖放到bin目录下,然后在cmd中进入bin目录下运行此命令,转码完成之后就可以开始推流了

ffmpeg -re -i output.flv -vcodec copy -f flv rtmp://localhost:1935/hls/mystream -loglevel quiet
参数output.flv就是我们需要推流的视频文件,rtmp://localhost:1935/hls/mystream为流媒体服务器地址,其中mystream名称可以自定义,在这里我们可以设定为mystream,接下来开始推流,推流是一个同步过程,不会立即结束,如果推流结束,那么你就不能在播放了,所以我们先打开播放器,ffmpeg window版中有ffplay.exe组件,用于视频播放,我们可以输入以下指令来打开流媒体播放器

ffplay "rtmp://localhost:1935/hls/mystream"
参数rtmp://localhost:1935/hls/mystream为我们刚刚推流的地址,填上就可以了

此时我们开始推流,同时运行播放器指令,能够弹出播放界面说明我们已经成功了,否则仔细阅读我写的教程一步一步慢慢来,接下来我们就可以下载ffmpeg的源代码,自行编译库,并添加到我们的项目中,如Android,ios,java,win32,mfc等等项目中,我会带领大家在Android项目中使用ffmpeg,详细请看我的下一篇教程





http://www.niftyadmin.cn/n/1367643.html

相关文章

【Android架构】ActionBar模块化架构设计

日常开发中,我们为了保证UI的可控性,必须对某些源码进行修改或者扩展,尤其是在Android原生ActionBar这里,如何能够做到完全的UI可控性和开发的便利性,我们务必会做出一些相关设计,接下来我们会设计一个合适…

【win32】高仿QQ截图

QQ截图大家都用过吧,从体验上来说是一个非常不错的软件,它只有200多kb,非常小巧,敢肯定应该是基于原生window api开发的,没用任何第三方的东西,接下来我想高度仿做一个这样的软件 技术难点分析&#xff1a…

【JAVA服务端架构】分布式环境下Hilo算法生成自增编号

常见的编号生成策略有以下几种方式: 1.数字型自增长,但有时候我们需要编号有一定的长度,并不是像0,1,2,3这种,还有可能会对编号加上一定的前戳 2.使用UUID,但是UUID是无序的,毫无意义的字符,像…

【c/c++编程】VS下mbedtls编译过程

我们在VS下如果会使用到各种加密,如md5,aes,sha1等等,这些东西在mbedtls库中已经完美实现,我们需要做的就是下载mbedtls并编译 下载地址:https://tls.mbed.org/ 下载完成后解压,目录如下&…

【C/C++】JAVA与C/C++ AES加密算法同步

此处我们使用的是AES的基础加密模式,即:电码本模式 ECB JAVA代码如下: //创建AES加密实例SecretKeySpec skeySpec new SecretKeySpec(keyBytes, "AES"); Cipher cip Cipher.getInstance("AES/ECB/NoPadding");//算法…

Picasso报错 java.io.IOException: Cannot reset

Picasso是android端的一个强大超级好用的图片加载器,比ImageLoader更加方便,但是今天在使用的时候发现一个问题,在一加手机上出现了显示不了图片的问题,当然并不是所有的图片都显示不了,是部分图片,至于原因…

Picasso图片加载闪烁问题解决方案

在android中我们使用了Picasso作为图片加载库,但有时候我们在来回切换fragment的时候会发现存在闪烁的问题,例如某app主界面有3个模块,分别是首页,资讯,我的。在首页和资讯中有大量的图片,“我的“里面有用…

【Android】开发干货-技术分享之高仿QQ微信网页加载进度条实现

很多app中使用了H5,为了更好的用户体验,很多app会在加载H5界面的时候显示进度条,类似微信,或者QQ,但是如果只是单纯的使用系统ProgressBar则会发现在加载中progress并不是从0线性涨到100,而是跳跃式的加载&…