随身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 已经力不从心了

 

posted @   张喆坤  阅读(215)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端
历史上的今天:
2022-05-08 Shell 脚本
点击右上角即可分享
微信分享提示