脚本编写运行配置(FFmpeg推流视频循环推流)
510 字
3 分钟
脚本编写运行配置(FFmpeg推流视频循环推流)
下面主要介绍下如何推流文件夹内的所有视频,目前已测试B站和虎牙推流直播没问题,斗鱼应该也行;
- 建立config目录,目录下创建是三个文件,dir,temp,key
- dir文件里写入要播放的视频的文件夹地址
- key文件写入要推流的key,直接从直播网站复制过来放到这个文件里就行(不推流到直播平台可以不设置)
- temp文件写入待播放的第一个视频的名字,不要带目录,视频要放在dir里配置的文件夹里,这个文件后续会通过play.sh脚本进行更新的
- 在config同级目录下编写自动重启脚本(play.sh),同时计算出下一个待播放的视频的名字,存储到temp文件里
#!/bin/bashbase_path=/data/videoconfig_path=$base_path/configpath=`cat $config_path/dir`temp=`cat $config_path/temp`index=0
for filename in `ls $path`do if -z $temp && $index == 0; then index=1 temp=$filename elif $filename == $temp && $index -lt 2; then index=2 continue elif [ $index == 2 ]; then index=0 temp=$filename break fidoneecho $temp > $config_path/temp
STREAM_KEY=`cat $config_path/key`pid=`ps -ef | grep ffmpeg | grep -v "grep" | awk '{print $2}'`kill -9 $pidnohup ffmpeg -re -stream_loop -1 -i "$path/$temp" -c copy -f flv "$STREAM_KEY" &1234567891011121314151617181920212223242526272829303132
#只遍历文件夹内的视频推流到mediatx服务器上(其它服务器也行srs...)#STREAM_URL="rtsp://127.0.0.1:8554/stream"#pid=`ps -ef | grep ffmpeg | grep -v "grep" | awk '{print $2}'`#kill -9 $pid#nohup ffmpeg -re -stream_loop -1 -i "$path/$temp" -vcodec copy -acodec copy -f rtsp "$STREA#M_URL" > /home/luban/logs/ffmepg-vedio-stream-log.out 2>&1 &- 在config同级目录下创建(scheduled.sh)计算出下一个视频的时长,并休眠计算出的下一个视频的时长
#!/bin/bashBASE_PATH=/data/videoVIDEO_PATH=${BASE_PATH}/mp4/sydt
while truedo /bin/bash ${BASE_PATH}/play.sh filename=`cat ${BASE_PATH}/config/temp`seconds=`ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 -i ${VIDEO_PATH}/${filename}`sleep $secondsdone123456789101112- 将该脚本使用nohup挂载到后台就可以了
# 先授权sudo chmod 777 *nohup ./scheduled.sh > /home/cherry/logs/vedio-stream-log.out 2>&1 &- 运行报错解决
- bash: ./scheduled.sh: /bin/bash^M: bad interpreter: No such file or directory
解决方法:
使用 dos2unix 工具转换文件: 如果你有 dos2unix 工具,可以直接使用它来转换文件的换行符。
bash
sudo apt-get install dos2unix# 在 Debian/Ubuntu 系统上安装 dos2unixdos2unix scheduled.shdos2unix play.sh参考链接:
支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!
脚本编写运行配置(FFmpeg推流视频循环推流)
https://firefly.cuteleaf.cn/posts/obsidian/脚本编写运行配置-ffmpeg推流视频循环推流/ 相关文章 智能推荐
1
FFmpeg推流
音视频 1、单个视频循环播放推流 2、接收摄像头的流再做推流
2
在web页面使用mediamtx流媒体服务器播放rtsp视频流
音视频 1、使用背景 mediamtx真乃神器也! 项目地址:https://github.com/bluenviron/mediamtx/tree/main 参考 感谢博主 :https://blog.csdn.net/qq 20937557/article/details/13227
3
通过流媒体服务器转发播放webrtc异常问题解决
音视频 1、问题 这里使用的事ZlmediaKit流媒体服务器 BUG 使用海康设备推送h265格式视频,webrtc播放异常,提示必须确保最少有一个活跃的track 经过排查,发现谷歌浏览器才支持h265格式的视频流以webrtc的形式播放,火狐、Edge原生都播放不了 2、解决 1.
4
mediamtx启动使用教程
音视频 1、启动及配置 1 、下载需要的版本 https://githubfast.com/bluenviron/mediamtx/releases/tag/v1.4.2 2、配置 rtmp server端口:1935 rtsp server端口:8554 hls server端口:88
5
webrtc-streamer使用教程
音视频 1、 webrtc streamer的安装部署 1、下载地址: https://github.com/mpromonet/webrtc streamer/releases 2、 Linux版本部署 系统环境都正常的情况安装步骤如下: 1. webrtc streamer包:web
随机文章 随机推荐