随身wifi 推流直播

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 @ 2023-05-08 21:20  张喆坤  阅读(184)  评论(0编辑  收藏  举报