转码

企业级开发(1)

眉间皱痕 提交于 2019-11-30 19:26:06
一、关于 ECMAScript6 ECMAScript 6.0 (以下简称 ES6 )是 JavaScript 语言的 新 一代标准,已经在 2015 年 6 月正式发布了。它的目标,是使得 JavaScript 语言可以用来编写复杂的大型应用程序,成为企业级开发语言。 ES6 是 ES5 的升级版,提供了简洁的语法和新的特性。 ES6 在浏览器上兼容性差一些,但是在 NodeJS上可以完全兼容。 因此,为了解决当下的兼容性问题,主要采用将开发用的 ES6 转化为 ES5 使其能够顺利运行在浏览器端的方案。 二、模块化机制 1. 概述 Node.js 采用模块化结构,按照 CommonJS 规范定义和使用模块。在 Node 中,以模块为单位划分所有功能,并且提供一个完整的模块加载机制,使得我们可以将应用程序划分为各个不同的部分,并且对这些部分进行很好的协同管理。 JavaScript 是一种功能强大的面向对象语言,具有一些最快速的动态语言解释器。官方 JavaScript 规范定义了一些用于构建基于浏览器的应用程序的对象的 API。但是,规范并没有定义一个用于对于构建更广泛的应用程序的标准库。 CommonJS API 将通过定义处理许多常见应用程序需求的 API 来填补这一空白,最终提供与 Python 、 Ruby 和 Java 一样丰富的标准库

NAS存储中如何启用多媒体服务器?

江枫思渺然 提交于 2019-11-30 12:02:23
多媒体服务器是一个基于DLNA协议的应用软件,用于实现TNAS与其他智能网络设备之间的多媒体共享服务。启用多媒体服务器,你可以将TNAS中的多媒体内容串流到DLNA/UPnP多媒体设备中播放,如智能电视、游戏机、网络播放器或者音响系统。你可以使用多媒体服务器的转码功能将一些可能不兼容的媒体格式转换成可兼容的格式。 1.前往TOS应用中心找到多媒体服务器,点击安装; 2.安装完成后,在TOS桌面双击多媒体服务器图标,打开应用; 3.在常规选项勾选启用多媒体服务器,设置需启用的多媒体体共享文件夹(只有已启用文件夹内的多媒体文件才能被DLNA/UPnP设备识别); 4.在浏览格式栏设置音乐显示格式; 5.在格式兼容性选项勾选启用视频转码器,启用4K视频转码,启用实时转码; 6.设置完成,请点击应用。 现在你可以在你的移动设备及智能电视上播放TNAS中的多媒体文件。 来源: https://blog.csdn.net/Noont/article/details/101349404

ES6的JavaScript或者是JS模块的运行方法

有些话、适合烂在心里 提交于 2019-11-30 11:52:52
运行ES6代码(或模块)的方法: 1、可以使用Babel转码器,把ES6的JS转码成Node.js的CommonJS。   如,在安装好Babel时,使用命令babel file.js --out dir folder。即把名为“file”的JS模块(代码)转码在名为“folder”的文件夹下。把需要用到的JS代码或者是模块代码转码为通用的JS,然后运行转码后的文件,就可以运行了。(注:Babel也提供了在线转码: https://babeljs.io/repl ) 2、讲ES6文件的扩展名从.js改成.mjs,然后在node命令后添加--experimental-modules来执行代码。   如,我们要运行“moduleTry.js”文件,首先将其改后缀名为.mjs,即为“moduleTry.mjs”。然后在该文件目录下执行Node命令,即node --experimental-modules moduleTry.mjs就可以了。 3、在浏览器运行ES6模块。   如, 来源: https://www.cnblogs.com/xinkuiwu/p/11582296.html

Babel

杀马特。学长 韩版系。学妹 提交于 2019-11-30 07:46:14
  Babel是一个ES6转码器,可以让你在现有的环境下写代码,而又不用担心环境是否支持。   Babel的配置文件是.babelrc,存放在项目的根目录下。 { "presets": [ "@babel/preset-env" ], "plugins":[] }   @babel/cli:命令行转码工具.。   @babel/core:使用babel api时调用。*   @babel/node:命令行执行工具/   @babel/register:改写require命令,每当使用require加载.js,.jsx等文件时,都会先使用babel转码(实时转码,适合开发环境)。   @babel/polyfill:为新API环境提供垫片。 *       来源: https://www.cnblogs.com/lh-zq/p/11573128.html

srs 使用 ffmpeg 转码

寵の児 提交于 2019-11-30 05:36:54
前面搭建完毕后,在进行转码(清晰度转换)的时候发现 ffmpeg 非常占cpu,服务器一直处于高负载状态。 centos7 top查看进程状态 如图所示采取软解码cpu要求太高,所以我们考虑将转码任务分担到 gpu 硬件解码(效率提高的同时解少cpu负载) 原文地址: https://www.jianshu.com/p/59da3d350488 由于我的服务器没有显卡没有进行测试 本文内容包括: 在Linux环境下安装FFmpeg 通过命令行实现视频格式识别和转码 有Nvidia显卡的情况下,在Linux下使用GPU进行视频转码加速的方法 FFmpeg编译安装 在FFmpeg官网 https://ffmpeg.org/download.html 可以下载到ubunto/debian的发行包,其他Linux发行版需自行编译。同时,如果要使用GPU进行硬件加速的话,也是必须自己编译FFmpeg的,所以本节将介绍从源码编译安装FFmpeg的方法(基于RHEL/Centos) 安装依赖工具 yum install autoconf automake bzip2 cmake freetype-devel gcc gcc-c++ git libtool make mercurial pkgconfig zlib-devel 准备工作 在$HOME下创建ffmpeg_sources目录

JAVA之编码/解码 -- 各种环境下可能会发生的乱码问题及解决方案

自古美人都是妖i 提交于 2019-11-29 20:16:10
工作中经常遇到 java 编码问题,由于缺乏研究,总是无法给出确切的答案,这个周末在网上查了一些资料,在此做些汇总。 问题一:在 java 中读取文件时应该采用什么编码? Java 读取文件的方式总体可以分为两类:按字节读取和按字符读取。按字节读取就是采用 InputStream.read() 方法来读取字节,然后保存到一个 byte[] 数组中,最后经常用 new String(byte[]); 把字节数组转换成 String 。在最后一步隐藏了一个编码的细节, new String(byte[]); 会使用操作系统默认的字符集来解码字节数组,中文操作系统就是 GBK 。而我们从输入流里读取的字节很可能就不是 GBK 编码的,因为从输入流里读取的字节编码取决于被读取的文件自身的编码。举个例子:我们在 D: 盘新建一个名为 demo.txt 的文件,写入 ” 我们。 ” ,并保存。此时 demo.txt 编码是 ANSI ,中文操作系统下就是 GBK 。此时我们用输入字节流读取该文件所得到的字节就是使用 GBK 方式编码的字节。那么我们最终 new String(byte[]); 时采用平台默认的 GBK 来编码成 String 也是没有问题的 ( 字节编码和默认解码一致 ) 。试想一下,如果在保存 demo.txt 文件时,我们选择 UTF-8 编码,那么该文件的编码就不在是

MP4文件批量转码成MP3

◇◆丶佛笑我妖孽 提交于 2019-11-29 19:52:05
需求背景: 最近为了学python爬虫,在论坛里找了不少视频教程,非常棒。但有时看视频不方便,就想着能否把视频批量转码成音频,这样在乘坐地铁公交的时候也能学习了。 解决路径: 有了需求,我首先在论坛里搜了下有没有这样的软件,还真有,我也下了,但体验并不是特别好。 然后我其实知道QQ影音是带有转码的功能的,功能很强大,但有个缺陷就是每次只能添加一个文件夹下的视频,并不能直接转码父文件夹下包括子文件夹内的文件。 功能介绍: 1、批量将父文件夹下及子文件夹内所有的MP4或者avi格式的文件自动转码成MP3音频格式; 2、自动删除MP4格式的文件;(加此段代码的目的是方便直接将转码后的文件夹下的音频文件拷入手机,而不拷视频文件,如不需要自行删除。) 代码关键部分说明: 既然现有的工具并不能解决我的需求,那我就准备自己用python实现个,刚好练练手。说干就干。 1、glob模块 官方文档 主要功能是匹配所有的符合条件的文件,并将其以list的形式返回。通过pip安装即可。 2、pydub模块官方文档 主要功能是处理音频文件,依赖于ffmpeg,所以还需要安装ffmpeg。通过pip安装即可。 3、ffmpeg官方文档 视频转音频就是依靠这个。 从上面的网站下载后,将path添加到环境变量中去,具体操作可以参考链接 import os import glob from pydub

python中base64编码与解码

南楼画角 提交于 2019-11-29 12:41:31
python2中进行Base64编码和解码 >>> import base64 >>> s = '我是字符串' >>> a = base64.b64encode(s) >>> print a ztLKx9fWt/u0rg== >>> print base64.b64decode(a) 我是字符串 python3不太一样:因为3.x中字符都为unicode编码,而b64encode函数的参数为byte类型,所以必须先转码。 import base64 encodestr = base64.b64encode('abcr34r344r'.encode('utf-8')) print(str(encodestr,'utf-8')) 打印结果为YWJjcjM0cjM0NHI=参考:https://www.cnblogs.com/zanjiahaoge666/p/7242642.html 来源: https://www.cnblogs.com/sea-stream/p/11518161.html

CDN的使用场景和作用是什么?

孤街醉人 提交于 2019-11-28 22:14:15
网站站点/应用加速 站点或者应用中大量静态资源的加速分发,建议将站点内容进行动静分离,动态文件可以结合云服务器ECS,静态资源如各类型图片、html、css、js文件等。 视音频点播/大文件下载分发加速 支持各类文件的下载、分发,支持在线点播加速业务,如mp4、flv视频文件或者平均单个文件大小在20M以上,主要的业务场景是视音频点播、大文件下载(如安装包下载)等。 视频直播加速 视频流媒体直播服务,支持媒资存储、切片转码、访问鉴权、内容分发加速一体化解决方案。结合弹性伸缩服务,及时调整服务器带宽,应对突发访问流量;结合媒体转码服务,享受高速稳定的并行转码,且任务规模无缝扩展。 移动应用加速 移动APP更新文件(apk文件)分发,移动APP内图片、页面、短视频、UGC等内容的优化加速分发。提供httpDNS服务,避免DNS劫持并获得实时精确的DNS解析结果,有效缩短用户访问时间,提升用户体验。 除了能帮助网站加速之外TTCDN还能提供DDoS流量、CC攻击实时清洗防护功能,可防御多种DDoS攻击。 来源: https://my.oschina.net/u/4143265/blog/3099257

字符串转码和进制处理

最后都变了- 提交于 2019-11-28 19:57:28
public class StringExUtils { private final static String[] HEX_DIGITS = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F"}; /** * 根据传输的长度 往字符串前补0 * * @param data 字符串 * @param length 总长度 * @return */ public static String checkData(String data, int length) { while (data.length() < length) { data = "0" + data; } return data; } /** * 根据长度,前补0后,按每两个通过空格进行一组分割 * * @param str * @return */ public static String alternate(String str) { char[] cx = str.toCharArray(); str = ""; for (int i = 0; i < cx.length; i += 2) { str += cx[i]; str += cx[i + 1]; str += " "; } return str;