当前位置: 首页 > wzjs >正文

百度推广运营这个工作好做吗廊坊网站的优化

百度推广运营这个工作好做吗,廊坊网站的优化,html5可以做手机网站吗,搭建网站大概多少钱一、引言:直播录屏的价值与挑战 想必你看过了很多直播录屏软件的介绍,他们要不全是广告推广,要不就是好几年前的软件了,有没有人维护还两说,他们不会告诉你为什么你用的时候要么断线,要么花屏,…
一、引言:直播录屏的价值与挑战

想必你看过了很多直播录屏软件的介绍,他们要不全是广告推广,要不就是好几年前的软件了,有没有人维护还两说,他们不会告诉你为什么你用的时候要么断线,要么花屏,要么录制不完全,今天我就直播录制的核心技术来给大家讲解下,以后遇到问题也可以自己分析和解决了。

直播录屏大家用来最多的可能就是直播切片或者复盘学习了,一些场观10万+的直播,其话题度和热度能持续带来不少的热度,而且通过切片带货,不少小博主也能赚到不少生活费,因此,直播录制的热度长盛不衰。

然鹅,直播的实时性很高,对稳定性要求很严格,它不像下电影一下,还可以暂停等会再接着下,直播错过就没了,如果中间卡顿或者丢帧,有可能导致整个直播录制结果文件不可用,因此,直播录制的稳定性至关重要。

下面以大家常用的抖音为例,讲解如何录制抖音直播间。


二、直播录制的核心技术原理
  1. 直播数据流捕获层
    • 视频流捕获:通常根据输入的抖音直播间地址,获取到房间号,然后通过官方接口获取直播流。
      抖音的爬取比较简单,关键代码如下所示:
async def get_douyin_app_stream_data(url: str, proxy_addr: OptionalStr = None, cookies: OptionalStr = None) -> dict:headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/115.0','Accept-Language': 'zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2','Referer': 'https://live.douyin.com/'}if cookies:headers['Cookie'] = cookiesasync def get_app_data(room_id: str, sec_uid: str) -> dict:app_params = {"verifyFp": "verify_lxj5zv70_7szNlAB7_pxNY_48Vh_ALKF_GA1Uf3yteoOY","type_id": "0","live_id": "1","room_id": room_id,"sec_user_id": sec_uid,"version_code": "99.99.99","app_id": "1128"}api2 = f'https://webcast.amemv.com/webcast/room/reflow/info/?{urllib.parse.urlencode(app_params)}'json_str2 = await async_req(url=api2, proxy_addr=proxy_addr, headers=headers)json_data2 = json.loads(json_str2)['data']room_data2 = json_data2['room']room_data2['anchor_name'] = room_data2['owner']['nickname']return room_data2try:web_rid = url.split('?')[0].split('live.douyin.com/')if len(web_rid) > 1:web_rid = web_rid[1]params = {"aid": "6383","app_name": "douyin_web","live_id": "1","device_platform": "web","language": "zh-CN","browser_language": "zh-CN","browser_platform": "Win32","browser_name": "Chrome","browser_version": "116.0.0.0","web_rid": web_rid}api = f'https://live.douyin.com/webcast/room/web/enter/?{urllib.parse.urlencode(params)}'json_str = await async_req(url=api, proxy_addr=proxy_addr, headers=headers)json_data = json.loads(json_str)['data']room_data = json_data['data'][0]room_data['anchor_name'] = json_data['user']['nickname']else:data = await get_sec_user_id(url, proxy_addr=proxy_addr)if data:_room_id, _sec_uid = dataroom_data = await get_app_data(_room_id, _sec_uid)else:unique_id = await get_unique_id(url, proxy_addr=proxy_addr)return await get_douyin_stream_data(f'https://live.douyin.com/{unique_id}')if room_data['status'] == 2:if 'stream_url' not in room_data:raise RuntimeError("The live streaming type or gameplay is not supported on the computer side yet, please use the ""app to share the link for recording.")live_core_sdk_data = room_data['stream_url']['live_core_sdk_data']pull_datas = room_data['stream_url']['pull_datas']if live_core_sdk_data:if pull_datas:key = list(pull_datas.keys())[0]json_str = pull_datas[key]['stream_data']else:json_str = live_core_sdk_data['pull_data']['stream_data']json_data = json.loads(json_str)if 'origin' in json_data['data']:origin_url_list = json_data['data']['origin']['main']origin_m3u8 = {'ORIGIN': origin_url_list["hls"]}origin_flv = {'ORIGIN': origin_url_list["flv"]}hls_pull_url_map = room_data['stream_url']['hls_pull_url_map']flv_pull_url = room_data['stream_url']['flv_pull_url']room_data['stream_url']['hls_pull_url_map'] = {**origin_m3u8, **hls_pull_url_map}room_data['stream_url']['flv_pull_url'] = {**origin_flv, **flv_pull_url}except Exception as e:print(f"Error message: {e} Error line: {e.__traceback__.tb_lineno}")room_data = {'anchor_name': ""}return room_data

2 封装格式选择

  • 实时流:FLV/TS分段传输
    1、TS文件格式主要优势是容错性强,在部分数据帧丢失的情况下,后续数据仍能正常使用,支持多种编码格式;但是随之带来的劣势就是文件较大,同样时长的文件,TS比MP4要大10%左右。
    2、FLV属于传统的flash 视频编码格式,与MP4接近,但是比TS文件要小。
  • 存储文件:MP4/MKV容器特性对比
    1、在存储上来说,MP4兼容性与编码支持性最好,但是对于实时流录制支持不太好,原因是MP4格式元数据放在文件开头,如果文件中间损毁或者没有正常结束,会导致整个文件打不开。
    2、MKV属于开源存储容器格式,几乎支持所有编码格式,而且局部掉帧不会影响整个文件打不开,也是比较好的直播录屏保存格式,但是目前很多系统对这个格式的支持度一般。

🔍 对比总结与场景推荐

格式容错性文件体积兼容性实时性推荐场景
TS⭐⭐⭐⭐⭐较大⭐⭐⭐⭐⭐⭐⭐直播录制、广播电视(需高容错)
FLV⭐⭐⭐较小⭐⭐⭐⭐⭐⭐⭐旧直播系统、网络传输(快速起播)
MP4⭐⭐中等⭐⭐⭐⭐⭐⭐⭐⭐(需优化)点播存储、多平台分发(兼容优先)
MKV⭐⭐⭐⭐中等⭐⭐⭐⭐高清视频存档、多轨道编辑(后期制作)

建议优先选择TS与flv格式来保存直播文件。

三、关键技术实现方案
输入源
采集引擎
编码器
封装模块
网络推流
本地存储

四、性能优化核心挑战
挑战解决方案技术指标提升
CPU占用过高硬件编码器调用(NVENC/QSV)资源降低60%~80%
直播卡顿自适应码率(ABR)算法卡顿率<0.5%
音画不同步PTS时间戳校准机制误差<40ms
大文件存储分片录制+即时转封装中断恢复<1s

五、典型架构案例解析
  1. 中小型方案
    # 简易录屏流程伪代码
    def record_live():video = capture_screen()      # 视频采集audio = capture_audio()       # 音频采集encoded = h264_encode(video) # 硬件编码save_to_mp4(encoded, audio)  # 封装存储
    

参考文献:

  • DouyinLiveRecorder
  • 快抖直播录制助手更新了,增加TS和FLV录制格式
  • 直播源链接一键获取
http://www.dtcms.com/wzjs/829022.html

相关文章:

  • 用Off做网站湖南住房与城乡建设厅网站
  • 怎么在网上打广告seo体系网站的建设及优化
  • 网站推广方法100种青海省建设厅职业注册官方网站
  • 微网站 微官网的区别wordpress 08
  • 沈阳和平三好街做网站法国企业网站建设
  • 酷家乐在线3d云设计平台百度关键词如何优化
  • 免费下载网站建设方案pptdjango商城网站开发的功能
  • 网站开发应用开发前海艾爻网站 建设
  • 企业备案网站内容新公司起名字大全免费
  • 爱淘苗网站开发模式个人做公司网页怎么做
  • 深度科技商业官方网站页面模板不存在怎么办
  • 赣州市住房和城乡建设局网站网上商城网站设计和实现
  • 网页设计案例图片深圳正规seo
  • 建设手机网站平台e网科技网站
  • 宁波企业网站优化报价哪些行业做网站多
  • 淘宝网客网站建设顺营销官方网站
  • 织梦做的网站怎么传到网上郑州设计网站的公司
  • 企业网站 的网络营销方法有wordpress接入官方号
  • 什么是同ip网站芜湖网站建设兼职
  • 网站怎么做弹出表单广州视频制作
  • 官方网站制作公司夏天做那个网站能致富
  • 企业网站建设最新技术wordpress 百度云
  • 企业网站建设 英铭唐山建设信息网站
  • 温州网站建设模板响水网站制作公司
  • 统计局网站集约化建设方案网站的网站制作
  • 受欢迎的网站建设案例北京专业做网站
  • 网站快速排名服务食品网站建设 网站定制开发
  • 网站诊断从哪里开始左右左右网站
  • 做单本小说网站怎么样php小程序开发完整教程
  • 云主机建设网站公司网站设计制作