流媒体到底是什么?百度百科上是这么讲:“流媒体(streaming media)是指将一连串的媒体数据压缩后,经过网上分段发送数据,在网上即时传输影音以供观赏的一种技术与过程,此技术使得数据包得以像流水一样发送;如果不使用此技术,就必须在使用前下载整个媒体文件。流式传输可传送现场影音或预存于服务器上的影片,当观看者在收看这些影音文件时,影音数据在送达观看者的计算机后立即由特定播放软件播放。”
从一开始的 2G 的全文本,到 3G 的图文,到 4G 的直播和短视频,以及未来 5G 的VR。我们只知道享受,并没有关注过技术的发展。
刚入职一家公司,做金融的,而我所在的部门事金融新媒体部门。主要负责云剪辑方向的。所以不得不关注这方面的技术,然后各种新词开始满天飞 流媒体
、JavaCV
、OpenCV
、FFmpeg
啥都是啥?我母鸡呀!
然后开始恶补一些知识,身为 Java 的我当然最关注 JavaCV 。JavaCV 是 OpenCV
、FFmpeg
一个封装还是一个牛逼的事,他是跨平台的。FFmpeg
是音视频处理,OpenCV
是图像处理和图像识别。
JavaCV 事开源的,这事我们 Java 开发人员最大福利。站在巨人的肩膀上摘葡萄。JavaCV 的地址是 https://github.com/bytedeco/javacv
。
说了这么多不如上手玩一哈。
首先引入 Maven 依赖。
代码语言:javascript复制<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>javacv-platform</artifactId>
<version>1.5.2</version>
</dependency>
这个依赖很大,因为它是跨平台的,所以他要满足所有系统的要求, so 看网速了一般1~2小时左右。
上代码
代码语言:javascript复制package xin.zhuyao.voicedemo.examples;
import org.bytedeco.javacv.CanvasFrame;
import org.bytedeco.javacv.FFmpegFrameGrabber;
import org.bytedeco.javacv.Frame;
import javax.swing.*;
public class TVExamples {
public static void recordTV(String rtmpUrl) throws Exception {
FFmpegFrameGrabber grabber = new FFmpegFrameGrabber(rtmpUrl);
//打开抓取器
grabber.start();
CanvasFrame canvas = new CanvasFrame("程序员小朱");
//关闭窗口的时候停止程序
canvas.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Frame frame;
// 只抓取画面
while ((frame = grabber.grab()) != null) {
//显示画面
canvas.showImage(frame);
}
//关闭抓取器
grabber.close();
canvas.dispose();
}
public static void main(String[] args) throws Exception {
recordTV("rtmp://58.200.131.2:1935/livetv/cctv1");
//CCTV-1综合:rtmp://58.200.131.2:1935/livetv/cctv1
//CCTV-2财经:rtmp://58.200.131.2:1935/livetv/cctv2
//CCTV-3综艺:rtmp://58.200.131.2:1935/livetv/cctv3
//CCTV-4中文国际:rtmp://58.200.131.2:1935/livetv/cctv4
//CCTV-5体育:rtmp://58.200.131.2:1935/livetv/cctv5
//CCTV-6电影:rtmp://58.200.131.2:1935/livetv/cctv6
//CCTV-7军事农业:rtmp://58.200.131.2:1935/livetv/cctv7
//CCTV-8电视剧:rtmp://58.200.131.2:1935/livetv/cctv8
//CCTV-9记录:rtmp://58.200.131.2:1935/livetv/cctv9
//CCTV-10科教:rtmp://58.200.131.2:1935/livetv/cctv10
//CCTV-11戏曲:rtmp://58.200.131.2:1935/livetv/cctv11
//CCTV-12社会与法:rtmp://58.200.131.2:1935/livetv/cctv12
//CCTV-13新闻:rtmp://58.200.131.2:1935/livetv/cctv13
//CCTV-14少儿:rtmp://58.200.131.2:1935/livetv/cctv14
//CCTV-15音乐:rtmp://58.200.131.2:1935/livetv/cctv15
//安徽卫视:rtmp://58.200.131.2:1935/livetv/ahtv
//兵团卫视:rtmp://58.200.131.2:1935/livetv/bttv
//重庆卫视:rtmp://58.200.131.2:1935/livetv/cqtv
//东方卫视:rtmp://58.200.131.2:1935/livetv/dftv
//东南卫视:rtmp://58.200.131.2:1935/livetv/dntv
//广东卫视:rtmp://58.200.131.2:1935/livetv/gdtv
//广西卫视:rtmp://58.200.131.2:1935/livetv/gxtv
//甘肃卫视:rtmp://58.200.131.2:1935/livetv/gstv
//贵州卫视:rtmp://58.200.131.2:1935/livetv/gztv
//湖北卫视:rtmp://58.200.131.2:1935/livetv/hbtv
//湖南卫视:rtmp://58.200.131.2:1935/livetv/hunantv
//河北卫视:rtmp://58.200.131.2:1935/livetv/hebtv
//河南卫视:rtmp://58.200.131.2:1935/livetv/hntv
//黑龙江卫视:rtmp://58.200.131.2:1935/livetv/hljtv
//江苏卫视:rtmp://58.200.131.2:1935/livetv/jstv
//江西卫视:rtmp://58.200.131.2:1935/livetv/jxtv
//吉林卫视:rtmp://58.200.131.2:1935/livetv/jltv
//辽宁卫视:rtmp://58.200.131.2:1935/livetv/lntv
//内蒙古卫视:rtmp://58.200.131.2:1935/livetv/nmtv
//宁夏卫视:rtmp://58.200.131.2:1935/livetv/nxtv
//青海卫视:rtmp://58.200.131.2:1935/livetv/qhtv
//四川卫视:rtmp://58.200.131.2:1935/livetv/sctv
//山东卫视:rtmp://58.200.131.2:1935/livetv/sdtv
//山西卫视:rtmp://58.200.131.2:1935/livetv/sxrtv
//陕西卫视:rtmp://58.200.131.2:1935/livetv/sxtv
//山东教育:rtmp://58.200.131.2:1935/livetv/sdetv
//中国教育-1:rtmp://58.200.131.2:1935/livetv/cetv1
//中国教育-3:rtmp://58.200.131.2:1935/livetv/cetv3
//中国教育-4:rtmp://58.200.131.2:1935/livetv/cetv4
//CCTV-第一剧场:rtmp://58.200.131.2:1935/livetv/dyjctv
//CCTV-国防军事:rtmp://58.200.131.2:1935/livetv/gfjstv
//CCTV-怀旧剧场:rtmp://58.200.131.2:1935/livetv/hjjctv
//CCTV-风云剧场:rtmp://58.200.131.2:1935/livetv/fyjctv
//CCTV-风云足球:rtmp://58.200.131.2:1935/livetv/fyzqtv
//CCTV-风云音乐:rtmp://58.200.131.2:1935/livetv/fyyytv
//CCTV-世界地理:rtmp://58.200.131.2:1935/livetv/sjdltv
//CCTV-1HD:rtmp://58.200.131.2:1935/livetv/cctv1hd
//CCTV-2HD:rtmp://58.200.131.2:1935/livetv/cctv2hd
//CCTV-3HD:rtmp://58.200.131.2:1935/livetv/cctv3hd
//CCTV-4HD:rtmp://58.200.131.2:1935/livetv/cctv4hd
//CCTV-5HD:rtmp://58.200.131.2:1935/livetv/cctv5hd
//CCTV5 HD:rtmp://58.200.131.2:1935/livetv/cctv5phd
//CCTV-6HD:rtmp://58.200.131.2:1935/livetv/cctv6hd
//CCTV-7HD:rtmp://58.200.131.2:1935/livetv/cctv7hd
//CCTV-8HD:rtmp://58.200.131.2:1935/livetv/cctv8hd
//CCTV-9HD:rtmp://58.200.131.2:1935/livetv/cctv9hd
//CCTV-10HD:rtmp://58.200.131.2:1935/livetv/cctv10hd
//CCTV-12HD:rtmp://58.200.131.2:1935/livetv/cctv12hd
//CCTV-14HD:rtmp://58.200.131.2:1935/livetv/cctv14hd
//CGTN-新闻:rtmp://58.200.131.2:1935/livetv/cctv16
//CETV-1:rtmp://58.200.131.2:1935/livetv/cetv1
//CETV-3:rtmp://58.200.131.2:1935/livetv/cetv3
//CETV-4:rtmp://58.200.131.2:1935/livetv/cetv4
//北京卫视高清:rtmp://58.200.131.2:1935/livetv/btv1hd
//北京影视高清:rtmp://58.200.131.2:1935/livetv/btv4hd
//北京体育高清:rtmp://58.200.131.2:1935/livetv/btv6hd
//北京新闻高清:rtmp://58.200.131.2:1935/livetv/btv9hd
//北京纪实高清:rtmp://58.200.131.2:1935/livetv/btv11hd
//北京卫视:rtmp://58.200.131.2:1935/livetv/btv1
//北京文艺:rtmp://58.200.131.2:1935/livetv/btv2
//北京科教:rtmp://58.200.131.2:1935/livetv/btv3
//北京影视:rtmp://58.200.131.2:1935/livetv/btv4
//北京财经:rtmp://58.200.131.2:1935/livetv/btv5
//北京体育:rtmp://58.200.131.2:1935/livetv/btv6
//北京生活:rtmp://58.200.131.2:1935/livetv/btv7
//北京青年:rtmp://58.200.131.2:1935/livetv/btv8
//北京新闻:rtmp://58.200.131.2:1935/livetv/btv9
//北京卡酷:rtmp://58.200.131.2:1935/livetv/btv10
//北京文艺高清:rtmp://58.200.131.2:1935/livetv/btv2hd
//安徽卫视高清:rtmp://58.200.131.2:1935/livetv/ahhd
//重庆卫视高清:rtmp://58.200.131.2:1935/livetv/cqhd
//东方卫视高清:rtmp://58.200.131.2:1935/livetv/dfhd
//天津卫视高清:rtmp://58.200.131.2:1935/livetv/tjhd
//东南卫视高清:rtmp://58.200.131.2:1935/livetv/dnhd
//江西卫视高清:rtmp://58.200.131.2:1935/livetv/jxhd
//河北卫视高清:rtmp://58.200.131.2:1935/livetv/hebhd
//湖南卫视高清:rtmp://58.200.131.2:1935/livetv/hunanhd
//湖北卫视高清:rtmp://58.200.131.2:1935/livetv/hbhd
//辽宁卫视高清:rtmp://58.200.131.2:1935/livetv/lnhd
//四川卫视高清:rtmp://58.200.131.2:1935/livetv/schd
//江苏卫视高清:rtmp://58.200.131.2:1935/livetv/jshd
//浙江卫视高清:rtmp://58.200.131.2:1935/livetv/zjhd
//山东卫视高清:rtmp://58.200.131.2:1935/livetv/sdhd
//广东卫视高清:rtmp://58.200.131.2:1935/livetv/gdhd
//深圳卫视高清:rtmp://58.200.131.2:1935/livetv/szhd
//黑龙江卫视高清:rtmp://58.200.131.2:1935/livetv/hljhd
//CHC高清电影:rtmp://58.200.131.2:1935/livetv/chchd
//上海纪实高清:rtmp://58.200.131.2:1935/livetv/docuchina
//金鹰纪实高清:rtmp://58.200.131.2:1935/livetv/gedocu
//全纪实高清:rtmp://58.200.131.2:1935/livetv/documentaryhd
//凤凰卫视中文台:rtmp://58.200.131.2:1935/livetv/fhzw
//凤凰卫视资讯台:rtmp://58.200.131.2:1935/livetv/fhzx
//凤凰卫视电影台:rtmp://58.200.131.2:1935/livetv/fhdy
//星空卫视:rtmp://58.200.131.2:1935/livetv/startv
//Star Sports:rtmp://58.200.131.2:1935/livetv/starsports
//Channel[V]:rtmp://58.200.131.2:1935/livetv/channelv
//探索频道:rtmp://58.200.131.2:1935/livetv/discovery
//国家地理频道:rtmp://58.200.131.2:1935/livetv/natlgeo
//CHC家庭影院:rtmp://58.200.131.2:1935/livetv/chctv
//CHC动作电影:rtmp://58.200.131.2:1935/livetv/chcatv
//美国电视频道:rtmp://media3.scctv.net/live/scctv_800
//香港财经:rtmp://202.69.69.180:443/webcast/bshdlive-pc
}
}
是不是可以自己做一个电视了!。