华为云云耀云服务器L实例评测使用 | 通过程序实现直播流自动分段录制
华为云云耀云服务器L实例评测使用 | 通过程序实现直播流自动分段录制
- 1. 准备工作
- 2. 环境搭建
- 3. 心得总结
1. 准备工作
随着云计算时代的进一步深入,越来越多的中小企业企业与开发者需要一款简单易用、高能高效的云计算基础设施产品来支撑自身业务运营和创新开发。基于这种需求,华为云焕新推出华为云云服务器实例新品。
华为云云服务器具有智能不卡顿、价优随心用、上手更简单、管理特省心这四个优点,从而帮您快速上云。
本文将使用华为云云耀云服务器L实例实现一个通过程序实现直播流自动分段录制的小功能。
● 注册华为帐号、开通华为云,并进行实名认证、充值等操作。
● 购买并配置云耀云服务器L实例 ,具体步骤如下官方渠道链接-华为云耀云服务器L实例
云耀云服务器L实例提供了很多的镜像,包括Linux可视化宝塔面板、企业建站系统WordPress、网络统计分析平台Matomo、Docker可视化Portainer、一站式DevOps平台GitLab等,可以根据自己的实际需求进行购买。
单击“去支付”,根据页面提示完成支付:
单击“控制台”,查看已创建的云耀云服务器L实例:
型号 | 实例操作系统系统 | CPU | 内存 | 硬盘 |
---|---|---|---|---|
云耀云服务器L实例 | Ubuntu 22.04 server 64bit | 2核 | 2G | 系统盘 40 GiB |
云服务器没有初始密码,在第一次使用云服务器时请先设置密码。密码丢失或密码过期时,也需要通过重置密码获取新的密码
2. 环境搭建
生成ffmpeg运行环境:
root@hcss-ecs-63db:~# apt-get update
root@hcss-ecs-63db:~# apt install ffmpeg
写一个python脚本实现自动分段录制:
root@hcss-ecs-63db:~# mkdir -p /data/record/stream/tsfiles/
root@hcss-ecs-63db:~# mkdir -p /data/record/stream/logs/
root@hcss-ecs-63db:~# vim record.py
import time
import os
import sys
channleurl = sys.argv[1]
segment_time = sys.argv[2]
dstdir = sys.argv[3]def record(url):filepath, tmpfilename = os.path.split(url)shortname, extension = os.path.splitext(tmpfilename)format = "ts"duration_day = 3duration_sec = 3*24*3600filetime = time.strftime('%Y%m%d%H%M%S',time.localtime(time.time()))print(filetime,tmpfilename,shortname)cmd = "ffmpeg -i " + url + " -map 0 -c copy -f segment -segment_time " + segment_time +" -segment_format ts " + dstdir + shortname + '-' + filetime +"-%03d.ts"try:os.system(cmd)except Exception as e:print(e)
record(channleurl)
测试流地址:rtmp://liteavapp.qcloud.com/live/liteavdemoplayerstreamid
root@hcss-ecs-63db:~# nohup python3 \
record.py \
rtmp://liteavapp.qcloud.com/live/liteavdemoplayerstreamid \
120 \
/data/record/stream/tsfiles/ >> /data/record/stream/logs/liteavdemoplayerstreamid.log 2>&1 &# 每120秒切一个ts片段
root@hcss-ecs-63db:~# ps -ef | grep ffmpeg
root 12248 12247 0 09:58 pts/0 00:00:00 sh -c ffmpeg -i rtmp://liteavapp.qcloud.com/live/liteavdemoplayerstreamid -map 0 -c copy -f segment -segment_time 120 -segment_format ts /data/record/stream/tsfiles/liteavdemoplayerstreamid-20230928095815-%03d.ts
root 12249 12248 2 09:58 pts/0 00:00:00 ffmpeg -i rtmp://liteavapp.qcloud.com/live/liteavdemoplayerstreamid -map 0 -c copy -f segment -segment_time 120 -segment_format ts /data/record/stream/tsfiles/liteavdemoplayerstreamid-20230928095815-%03d.ts
可以看到每120秒切一个ts文件,大小在35M左右,视频流如果一直播放就会一直切
root@hcss-ecs-63db:~# ls -lh /data/record/stream/tsfiles/
total 115M
-rw-r--r-- 1 root root 35M Sep 28 10:00 liteavdemoplayerstreamid-20230928095815-000.ts
-rw-r--r-- 1 root root 33M Sep 28 10:02 liteavdemoplayerstreamid-20230928095815-001.ts
-rw-r--r-- 1 root root 34M Sep 28 10:04 liteavdemoplayerstreamid-20230928095815-002.ts
-rw-r--r-- 1 root root 15M Sep 28 10:05 liteavdemoplayerstreamid-20230928095815-003.ts
停止录制,当然可以写一个cron计划任务
ps -ef|grep ffmpeg |awk '{print $2}'|xargs kill -9
3. 心得总结
华为云云耀云服务器L实例在全国范围内内提供多个数据中心,可以选择最接近您的目标受众的地理位置来减少延迟。这对于流媒体和在线视频服务特别重要。而且华为云云耀云服务器L实例提供了多种操作系统和应用程序的预置镜像,这使得在云主机上安装和配置FFmpeg变得更加简单。总之华为云主机提供了一种高度可扩展、高性能、灵活和安全的环境,非常适合运行FFmpeg以进行视频处理和转码任务。这使得华为云成为许多媒体和视频处理应用程序的理想选择。
相关文章:
华为云云耀云服务器L实例评测使用 | 通过程序实现直播流自动分段录制
华为云云耀云服务器L实例评测使用 | 通过程序实现直播流自动分段录制 1. 准备工作2. 环境搭建3. 心得总结 1. 准备工作 随着云计算时代的进一步深入,越来越多的中小企业企业与开发者需要一款简单易用、高能高效的云计算基础设施产品来支撑自身业务运营和创新开发。基…...
前端教程-webpack
官网 webpack webpack基础 视频教程 尚硅谷Webpack5入门到原理(面试开发一条龙)...
white-space几种属性的用法(处理空格)
white-space:normal 文首的空格忽略,文本内部的换行符自动转成了空格。 white-space:nowrap 不换行,即使超出容器宽度 white-space:pre 与原文本一致,空格和换行符保留 white-space:pre-…...
Linux的历史
Linux的历史 前言: 关于Linux,你可能只是听说过它是一款操作系统,也许你还知道它是开源的,但在日常生活中,你更熟悉的是Windows。 那么我们为什么要了解、学习Linux,看完这一篇,你也许可以从…...
软考高级系统架构设计师系列论文真题八:论企业集成平台的技术与应用
软考高级系统架构设计师系列论文真题八:论企业集成平台的技术与应用 一、论企业集成平台的技术与应用二、找准核心论点三、理论素材准备四、精品范文赏析1.摘要2.正文3.总结软考高级系统架构设计师系列论文之:百篇软考高级架构设计师论文范文软考高级系统架构设计师系列之:论…...
[H5动画制作系列] 路径引导动画 Demo
代码参考1: <!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>路径引导动画 Demo1</tit…...
[React] Context上下文的使用
文章目录 1.Context的介绍2.为什么需要Context3.Context的使用 1.Context的介绍 Context旨在为React复杂嵌套的各个组件提供一个生命周期内的统一属性访问对象,从而避免我们出现当出现复杂嵌套结构的组件需要一层层通过属性传递值得问题。 Context是为了提供一个组…...
高云FPGA系列教程(9):cmd-parser串口命令解析器移植
文章目录 @[toc]cmd-parser库简介cmd-parser库源码获取GW1NSR-4C移植cmd-parser实际测试cmd-parse命令解析器优化本文是高云FPGA系列教程的第9篇文章。 上一篇文章介绍片上ARM Cortex-M3硬核处理器串口外设的使用,演示轮询方式和中断方式接收串口数据,并进行回环测试。 本文…...
PHP8的静态变量和方法-PHP8知识详解
我们在上一课程讲到了public、private、protected这3个关键字,今天我们来讲解static关键字,明天再讲解final关键字。 如果不想通过创建对象来调用变量或方法,则可以将该变量或方法创建为静态变量或方法,也就是在变量或方法的前面…...
用AI写文章被百家号封禁
我是卢松松,点点上面的头像,欢迎关注我哦! 千万不要用AI创作,尤其是原文照搬!不要用ai,不要用,不要用!重要的事情说三遍。 近日ID名为“爸爸在家赚钱”用AI写了4-5篇文章投稿在百家号,随后百度就把他帐号…...
JVM--Java类加载器笔记
Java类加载器 代码经过编译变成了字节码打包成 Jar 文件。让 JVM 去加载需要的字节码,变成持久代/元数据区上的 Class 对象,接着执行程序逻辑。 类声明周期和加载过程 步骤:加载->链接(校验->准备->解析)-…...
【在Ubuntu部署Docker项目】— PROJECT#1
一、说明 让我们深入了解 Docker。用docker构建web服务器。我们正在计划开发JavaScript API,建立MySQL数据库,并创建一个 PHP 网站使用 API 服务。Php Node.js Mysql — DockerSeries — Episode#1 二、系统架构概述 我们要构建的容器,是三…...
【学习笔记】LOJ #6240. 仙人掌
毒瘤题😅 简单版本 CF235D Graph Game 首先,考虑建立圆方树,然后对于一个点双(简单环)上的两个点,有两条路径可以到达 和简单版本类似,考虑容斥。即枚举点对 i , j i,j i,j之间 哪些路径是联…...
java通过接口转发文件(上传下载)
java接口转发上传的文件 RequestMapping(value "/XXXX/fileUpload", method RequestMethod.POST) public String getFileUpload2(RequestParam("file") MultipartFile file, HttpServletRequest request) public static String hotMapPost3(String ur…...
Docker-部署docker-compose以及管理服务
部署docker-compose以及管理服务 文章目录 部署docker-compose以及管理服务[TOC] 前言一、docker-compose是什么?1、介绍2、 功能 二、安装docker-compose1.yum直接安装2.二进制安装3.pip安装 三、docker-compose部署服务1.编写docker-compose.yml文件 总结 前言 D…...
Android - Monkey 测试应用出现Crash报错IllegalStateException
问题描述 平时使用Lottie动画都是正常的,没出过这个crash问题,看下的报错信息,代码中文件夹也设置了,没看出来问题。 AndroidRuntime: java.lang.IllegalStateException: You must set an images folder before loading an imag…...
Spring源码分析 事务 实现原理
文章目录 什么是事务Spring事务管理Spring事务实现原理事务管理器事务定义事务的开启事务核心方法业务代码使用事务TransactionInterceptor 什么是事务 一般所指的事务是数据库事务,是指一批不可分割的数据库操作序列,也是数据库并发控制的基本单位。其…...
ADS-B及雷达显示终端8.3
新版本功能升级主要有如下: 1、地图更新 在上一版本8.2中使用的高程地图为由SRTM经过地形晕渲后,生成地形图片,然后对图片进行贴图,一一按规定位置、大小将地形图贴至底图上,而后在底图上进行二维矢量地图的绘制,包括…...
第二章:最新版零基础学习 PYTHON 教程(第二节 - Python 输入/输出–从 Python 控制台获取输入)
目录 Python 中的控制台是什么? 接受来自控制台的输入: 1. 将输入类型转换为整数:...
linux安装配置 flume
目录 一 解压安装包 二 配置部署 (1)修改配置 (2)下载工具 (3)创建配置文件 (4)启动监听测试 (5)flume监控文件 一 解压安装包 这里提供了网盘资源 链…...
SSM - Springboot - MyBatis-Plus 全栈体系(十五)
第三章 MyBatis 二、MyBatis 基本使用 4. CRUD 强化练习 4.1 准备数据库数据 首先,我们需要准备一张名为 user 的表。该表包含字段 id(主键)、username、password。创建SQL如下: CREATE TABLE user (id INT(11) NOT NULL AUT…...
win10默认浏览器改不了怎么办,解决方法详解
win10默认浏览器改不了怎么办,解决方法详解_蓝天网络 在使用Windows 10操作系统时,你可能会遇到无法更改默认浏览器的情况。这可能是因为其他程序或设置正在干扰更改。如果你也遇到了这个问题,不要担心,本文将为你提供详细的解决…...
C语言连接MySQL并执行SQL语句(hello world)
1.新建一个控制台项目 参考【VS2022 和 VS2010 C语言控制台输出 Hello World】VS2022 和 VS2010 C语言控制台输出 Hello World_vs2022源文件在哪_西晋的no1的博客-CSDN博客 2.安装MySQL 参考【MySQL 8.0.34安装教程】MySQL 8.0.34安装教程_西晋的no1的博客-CSDN博客 3.复制MySQ…...
react实现动态递增展示数字特效
在可视化展示界面时有一种场景,就是页面在初始化的时候,有些数字展示想要从某个值开始动态递增到实际值,形成一种动画效果。例如: 写一个数字递增的组件,有两种方式:1.固定步长,代码如下&#x…...
读取.nrrd和.dcm文件格式医学图片可视化与预处理
nrrd数据格式 MITK默认会将医学图像保存为格式为NRRD的图像,在这个数据格式中包含: 1、一个单个的数据头文件:为科学可视化和医学图像处理准确地表示N维度的栅格信息。 2、既能分开又能合并的图像文件。 nrrd_options输出 {u’dimension’:…...
VS CODE中的筛选器如何打开?
最近更新了vscode1.82版本,发现在git管理界面有一个“筛选器”功能,十分好用,后来关掉了,找了好久都没有找到办法打开这个筛选器功能,今天无意中不知道按到了哪个快捷键,打开了,就是下图这个&am…...
vue 多环境文件配置(开发,测试,生产)
1.经常我们在开发时候会有不同环境,要代理的路由等等都会出现不同 配置一下三个文件打包的时候,执行三个不同的指令就会打包不同的环境 npm run build:dev npm run build:test npm run build:prodpackage.json 中配置scripts 指令 以,env.development…...
在服务器上搭建pulseaudio的运行环境,指定其运行目录、状态目录和模块目录
如果想在搭建 PulseAudio 的服务器上指定其运行目录、状态目录和模块目录,可以通过修改 PulseAudio 的配置文件来实现。一般情况下所涉及的配置文件和相关选项如下所示: 1、配置文件路径:通常情况下,PulseAudio 的配置文件位于 /…...
[Qt]QListView 重绘实例之一:背景重绘
0 环境 Windows 11Qt 5.15.2 MinGW x64 1 系列文章 简介:本系列文章,是以纯代码方式实现 Qt 控件的重构,尽量不使用 Qss 方式。 《[Qt]QListView 重绘实例之一:背景重绘》 《[Qt]QListView 重绘实例之二:列表项覆…...
国庆周《Linux学习第二课》
Linux开篇指南针环境安装(第一课)-CSDN博客 Linux详细的环境安装介绍在上面 第一 环境准备过程 安装过程...
网站建设完成/seo查询seo
本系列博客主要分享Python在机器视觉/计算机视觉下的编程应用 cv2包是著名的视觉库OpenCV的Python实现 颜色直方图一般用于统计图片不同通道像素强度的分布,并可以基于此来实现对比度提升、以及简单的目标识别、跟踪以及分割等任务。在openCV中集成了函数cv2.calcHi…...
现在可以做网站么/seo搜索是什么意思
题目:http://acm.hdu.edu.cn/showproblem.php?pid1051 经典的贪心题,按照l,w排好序后进行扫描标记,注意逻辑即可。 #include <iostream> #include<cstdio> #include<algorithm> #include<cstring> using namespac…...
深圳律师网站建设/谷歌引擎搜索入口
为了更直观的展示出我们的服务器健康状况与各应用程序的运行状况,我们看图说话总是最直观有效的,所以我们就把服务器的各组件情况分成拓扑图似的模样给我们直观展示出来吧: 1 单台服务器拓扑图监控 首先打开“监视”工作区 选择“监视”右键“…...
绿色风格的网站/网店运营具体做什么
1一、课题研究的现实背景及意义(一)研究背景1.我国中职教育发展的新形势,指出了中职语文教学结合专业进行改革的重要性教育部在《关于全面推进素质教育深化中等职业教育教学改革的意见》1中指出:“加强文化基础教育,改革文化基础课…...
网站建设 签约信息/提高搜索引擎检索效果的方法
前言 javacv开发包是用于支持java多媒体开发的一套开发包,可以适用于本地多媒体(音视频)调用以及音视频,图片等文件后期操作(图片修改,音视频解码剪辑等等功能),这里只使用javacv来…...
装修设计网站哪个平台最好/网站查询ip地址查询
前言 从毕业到现在面试也就那么几家公司,单前几次都比较顺利,在面到第三家时都给到了我offer!前面两次找工作,没考虑到以后需要什么,自己的对未来的规划是什么,只要有份工作,工资符合自己的要求…...