随身wifi 推流直播
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | import os import os.path import io dir = "/home/user/bili" #存放播放视频的文件夹 rtmp = "?streamname=live_57124000_8042959&key=a71e086*****************4ad78b&schedule=rtmp&pflag=1" #bilibili 串流密钥 fps = 25 nameList = [] def listDir(dirTemp): global nameList if not os.path.exists(dirTemp): print ( "file or directory isn't exist" ) return if os.path.isfile(dirTemp): nameList.append(dirTemp) return resultList = os.listdir(dirTemp) for fileOrDir in resultList: listDir(dirTemp + "/" + fileOrDir) # 用递归将文件目录中的文件全部加入到nameList中 return nameList def getfilename( file ): tmpint = file .rfind( '/' ) filename = file [tmpint + 1 :] return filename def main(): while True : List = listDir( dir ) List .sort() for file in List : print ( file ) fw = io. open ( "mylog" , 'a+' , encoding = 'utf8' ) fw.write( file ) fw.write( '\n' ) filename = getfilename( file ) os.system( 'ffmpeg -re -i "' + file + '" -vcodec libx264 -acodec copy -b:a 192k -r ' + fps + ' -f flv "rtmp://live-push.bilivideo.com/live-bvc/' + rtmp + '"' ) main() |
后台执行这个推流程序
$ screen -S my_session
$ python3 my_server.py
上述命令中,"screen -S my_session" 表示新建一个名为 "my_session" 的屏幕会话;"python3 my_server.py" 表示在该屏幕会话中启动 "my_server.py" 程序。用户可以随时通过 "Ctrl+a d" 快捷键退出屏幕会话,但程序仍会在后台运行。
由于原视频还是太大导致加载缓慢,考虑更改分辨率。
ffmpeg -i /home/user/bili/taikula.mp4 -vf scale=320:180 -c:a copy output.mp4
好吧太烫了,随身wifi 已经力不从心了
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端
2022-05-08 Shell 脚本