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