码迷,mamicode.com
首页 > Windows程序 > 详细

使用FFMPEG在windows平台下推rtmp流

时间:2018-04-30 14:39:29      阅读:517      评论:0      收藏:0      [点我收藏+]

标签:build   add   跳转   logs   环境   linu   进程   分享   pat   

使用FFMPEG在windows平台下推rtmp流

工作中习惯在Linux下面使用FFmpeg模拟推rtmp流,无奈家中的电脑都是windows系统,需要利用家中的带宽来测试流媒体服务器的性能。所以研究了一下如何在windows系统中快速推流。

首先下载安装ffmpeg

下载windows下的FFMPEG压缩包,解压到当前目录,见下图(如何快速截图并上传到图传?

技术分享图片

我们使用的是ffmpeg-20180429-19c3df0-win64-static\bin路径下的ffmpeg.exe文件。

技术分享图片

写两个脚本实现推流

可以使用windows批处理或者powershell脚本,但都得实现两份,所以最好能够重用Linux下的shell脚本。

安装Cygwin

下载安装Cygwin。

两个Cygwin命令

  • 跳转到其他盘符

$ cd /cygdrive/f

  • 设置环境变量,将ffmpeg的bin目录加到环境变量中

$ export PATH=$PATH:/cygdrive/f/Harlan/Software/ffmpeg-20180429-19c3df0-win64-st atic/bin/

循环推流shell脚本

创建一个shell脚本文件pushstream.sh,内容如下

#!/bin/bash

for((;;)); do ffmpeg -re  -i "..\videos\test-$1.mp4"  -c copy  -f flv "rtmp://stream_media_server_address:1935/live/test-$1/test-$1"
sleep 1; done

注意添加了一个参数$1。

推多路流的shell脚本

将推流的进程启动为守护进程,创建一个脚本push_all.sh:

#!/bin/bash

setsid ./pushstream.sh 20 >/dev/null 2>&1 < /dev/null &
setsid ./pushstream.sh 30 >/dev/null 2>&1 < /dev/null &
setsid ./pushstream.sh 40 >/dev/null 2>&1 < /dev/null &
setsid ./pushstream.sh 60 >/dev/null 2>&1 < /dev/null &

执行下面的命令启动脚本:

$ ./push_all.sh

可以看到有四路流在后台同时在推:

技术分享图片

使用FFMPEG在windows平台下推rtmp流

标签:build   add   跳转   logs   环境   linu   进程   分享   pat   

原文地址:https://www.cnblogs.com/harlanc/p/8973525.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!