构建一个在线ASCII视频流服务
构建一个在线ASCII视频流服务
1685
什么是ASCII视频流服务?
其实这个名字是咱胡乱起的,具体叫啥我也不清楚,但效果如下:
大家可以在自己的命令行里试下,效果比较暴力,就不截图了
如何搭建这么一个服务?
需要用到的工具:
- ffmpeg
- hit9/img2txt
- HFO4/plus1s.live
Go和Python的运行环境
1.执行以下命令将视频中的某个片段(或全部)截取为图像ffmpeg -i HongkongReporter.mp4 -r 5 -ss 00:01:13 -t 00:00:15 %03d.png
</pre> 以上命令代表将
HongkongReporter.mp4`的第1分13秒后的15秒以每秒5帧的速度保存为图像,图像名格式为001.png 002.png ……
效果如下:2.使用修改过的hit9/img2txt将图像转换为ASCII画.
原版hit9/img2txt只能单张转换,我稍微改了下,可以批量转换并保存为txt。修改后的版本:https://github.com/HFO4/img2txt/blob/gh-pages/img2txt.py
clone下来后修改
img2txt.py
第246行的目录为上一步存放图像的目录,然后执行:pip install img2txt.py python img2txt.py h
稍等片刻,ASCII字符文件会存放到与
img2txt.py
同级的pic
目录下3.部署在线服务
将HFO4/plus1s.live克隆下来,并将上一步得到的pic目录替换到此项目的目录下,修改
stream.go
的第13行为你得到的单帧图像的总个数。保存后执行:`go build stream.go
./stream
然后程序会默认开放1926端口,使用curl 您的ip:1926
命令即可查看效果。
构建一个在线ASCII视频流服务的更多相关文章
- gRPC初探——概念介绍以及如何构建一个简单的gRPC服务
目录 引言 1. gRPC简介 2. 使用Protocol Buffers进行服务定义 2.1 定义消息 2.2 定义服务接口 3.构建简单的gRPC服务 3.1 编写proto文件,定义消息和接口 ...
- 学习构建一个简单的wcf服务
入门,构建第一个WCF程序 1.服务端 建立一个控制台应用程序作为Server,新建一个接口IData作为服务契约.这个契约接口一会儿也要放到Client端,这样双方才能遵循相同的标准.别忘了添加对 ...
- [计算机视觉]从零开始构建一个微软how-old.net服务/面部属性识别
大概两三年前微软发布了一个基于Cognitive Service API的how-old.net网站,用户可以上传一张包含人脸的照片,后台通过调用深度学习算法可以预测照片中的人脸.年龄以及性别,然后将 ...
- 使用plv8+ shortid npm包构建一个短唯一id服务
plv8 是一个很强大的pg 扩展插件,我们可以直接额使用js 增强sql ,shortid 是一个用来生成短连接id 很方便的类库 因为shortid 是一个npm 模块,我们需要使用一种方法使用r ...
- 重温WCF之构建一个简单的WCF(一)(1)通过控制台和IIS寄宿服务
一.理解什么是WCFWCF就是.NET平台下各种分布式技术的集成,并提供了一套统一的编程接口 二.WCF的定义WCF(Windows Communication Foundation)是微软为构建面向 ...
- [译]Spring Boot 构建一个RESTful Web服务
翻译地址:https://spring.io/guides/gs/rest-service/ 构建一个RESTful Web服务 本指南将指导您完成使用spring创建一个“hello world”R ...
- Kubernetes实战 - 从零开始搭建微服务 1 - 使用kind构建一个单层架构Node/Express网络应用程序
使用kind构建一个单层架构Node/Express网络应用程序 Kubernetes实战-从零开始搭建微服务 1 前言 准备写一个Kubernetes实战系列教程,毕竟cnblogs作为国内最早的技 ...
- 基于url-to-pdf-api构建docker镜像,制作一个网页另存服务
基于url-to-pdf-api构建docker镜像,制作一个网页另存服务 业务背景: 需要根据一个url路径打印这个网页的内容 解决方案: 1.使用wkhtml2pdf 2.使用puppeteer ...
- CoSky-Mirror 就像一个镜子放在 Nacos、CoSky 中间,构建一个统一的服务发现平台
CoSky 基于 Redis 的服务治理平台(服务注册/发现 & 配置中心) Consul + Sky = CoSky CoSky 是一个轻量级.低成本的服务注册.服务发现. 配置服务 SDK ...
随机推荐
- Leetcode 969. Pancake Sorting
每次找到当前最大数,转两下把最大数转到最右边.重复这个操作,直到都转完. 时间复杂度O(n**2) class Solution(object): def pancakeSort(self, A): ...
- pandas中Loc vs. iloc vs. ix vs. at vs. iat?
loc: only work on indexiloc: work on positionix: You can get data from dataframe without it being in ...
- FastAdmin 推荐 Git 在线学习教程
FastAdmin 推荐 Git 在线学习教程 因为 FastAdmin 推荐使用 Git 管理代码,有很多小伙伴对 Git 不是很熟悉. 也苦于找不到好的教程,我就分享一个 Git 在线学习教程. ...
- mysql5.6之 传输表空间迁移表或恢复误删除的表
一,简单说明: 1),传输表空间的限制: 1,mysql 版本 5.6.6 及其以上,并且版本建议源和目标版本建议都是GA版并且大版本一样 2,表引擎为innodb并且开启独立表空间 innod ...
- VisualPage重定向
开发文档链接:https://developer.salesforce.com/docs/atlas.en-us.pages.meta/pages/pages_quick_start_override ...
- salt-minion dead but pid file exists 正确解决方法
说明: 看了网上很多关于alt-minion dead but pid file exists 的解决方法,千篇一律的写一个shell脚本 killproc salt-minion 见链接:http: ...
- 静默安装Azure CLI
Azure的CLI目前已经是基于Python的2.0版本.其信息在下面的链接可以找到: https://github.com/Azure/azure-cli 其安装方法可以根据网站上描述的命令实现: ...
- java代码输入流篇2
总结: 方法.和之前的有不同,但是名字太长了+++++ package com.aini; import java.io.*; public class ghd { public static voi ...
- Java-API:javax.servlet.http.HttpServletRequest
ylbtech-Java-API:javax.servlet.http.HttpServletRequest 1.返回顶部 1. javax.servlet.http Interface HttpSe ...
- 远程摄像头软件mjpg-streamer使用指南
转 自:http://bbs.hdchina.org/viewthread.php?tid=94749 mjpg-streamer 可以通过文件或者是HTTP方式访问linux UVC兼容摄像头.可以 ...