前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用轻量服务器实现抖音或任意直播视频的录制并发送

使用轻量服务器实现抖音或任意直播视频的录制并发送

原创
作者头像
Paulette
发布2023-07-17 23:52:42
8840
发布2023-07-17 23:52:42
举报
文章被收录于专栏:小白实例小白实例

配置云服务器环境

通过SSH连接服务器,更新源:

代码语言:javascript
复制
sudo apt update

安装ffmpeg:

代码语言:javascript
复制
sudo add-apt-repository ppa:jonathonf/ffmpeg-4
sudo apt update
sudo apt install ffmpeg

安装Python 3环境:

代码语言:javascript
复制
sudo apt update
sudo apt install python3 python3-pip

获取抖音直播真实地址

1. 在抖音App中浏览要录制的直播间,点击分享获得分享链接

2. 使用Python请求分享链接,解析出m3u8格式的直播源地址

代码语言:javascript
复制
python
import requests 

dy_share_url = 'https://v.douyin.com/xxx'
res = requests.get(dy_share_url)
m3u8_url = res.text.split('src":"')[1].split('"}')[0] 

设定录制脚本

使用ffmpeg命令行录制,检测开播状态,开启录制:

代码语言:javascript
复制
python
import os
import time
while True:
   if requests.get(m3u8_url).ok:
     os.system(f'ffmpeg -i {m3u8_url} -c copy output.mp4')  
   else:
     time.sleep(300)

可以通过多进程同时录制多个直播间:

代码语言:javascript
复制
python
from multiprocessing import Process

# 定义录制函数
def record_room(room_url, output):
  stream = ffmpeg.input(room_url)
  stream.output(output).run()

if __name__ == '__main__':

  # 多个直播间
  rooms = [room1, room2, ...]

  # 启动多进程录制
  processes = []
  for i, room in enumerate(rooms):
    process = Process(target=record_room, args=(room, f'output{i}.mp4'))
    process.start()
    processes.append(process)
  
  # 等待所有进程结束
  for process in processes:
    process.join()

支持多进程同时录制多个房间:

代码语言:javascript
复制
python
rooms = ['room1.m3u8', 'room2.m3u8']

for i, room in enumerate(rooms):
  p = Process(target=record ,args=(room, f'output{i}.mp4'))
  p.start()

发送通知邮件

1. 录制完成后,构造邮件文本和附件

代码语言:javascript
复制
python
msg = EmailMessage()
msg['Subject'] = '抖音直播录制结果' 

with open('output.mp4', 'rb') as f:
  video = MIMEApplication(f.read())
  video.add_header('Content-Disposition', 'attachment', filename='output.mp4')
  msg.attach(video)

msg.set_content('本次录制结果...')

2. 使用smtplib模块发送邮件

代码语言:javascript
复制
python
s = smtplib.SMTP_SSL('smtp.xxx.com')
s.login('你的邮箱','密码') 
s.sendmail('你的邮箱', '对方邮箱', msg.as_string())
s.quit()

结束语:

利用云服务器的高性能,可以方便录制任意抖音直播或m3u8视频内容。可以考虑在推送到企微或者切片发送到微信。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 配置云服务器环境
  • 获取抖音直播真实地址
  • 设定录制脚本
  • 发送通知邮件
  • 结束语:
相关产品与服务
云直播
云直播(Cloud Streaming Services,CSS)为您提供极速、稳定、专业的云端直播处理服务,根据业务的不同直播场景需求,云直播提供了标准直播、快直播、云导播台三种服务,分别针对大规模实时观看、超低延时直播、便捷云端导播的场景,配合腾讯云视立方·直播 SDK,为您提供一站式的音视频直播解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档