流媒体到底是什么?百度百科上是这么讲:“流媒体(streaming media)是指将一连串的媒体数据压缩后,经过网上分段发送数据,在网上即时传输影音以供观赏的一种技术与过程,此技术使得数据包得以像流水一样发送;如果不使用此技术,就必须在使用前下载整个媒体文件。流式传输可传送现场影音或预存于服务器上的影片,当观看者在收看这些影音文件时,影音数据在送达观看者的计算机后立即由特定播放软件播放。”

从一开始的 2G 的全文本,到 3G 的图文,到 4G 的直播和短视频,以及未来 5G 的VR。我们只知道享受,并没有关注过技术的发展。

刚入职一家公司,做金融的,而我所在的部门事金融新媒体部门。主要负责云剪辑方向的。所以不得不关注这方面的技术,然后各种新词开始满天飞 流媒体JavaCVOpenCVFFmpeg 啥都是啥?我母鸡呀!

然后开始恶补一些知识,身为 Java 的我当然最关注 JavaCV 。 JavaCV 是 OpenCVFFmpeg 一个封装还是一个牛逼的事,他是跨平台的。 FFmpeg 是音视频处理,OpenCV是图像处理和图像识别。

JavaCV 事开源的,这事我们 Java 开发人员最大福利。站在巨人的肩膀上摘葡萄。 JavaCV 的地址是 https://github.com/bytedeco/javacv

说了这么多不如上手玩一哈。

首先引入 Maven 依赖。

<dependency>
    <groupId>org.bytedeco</groupId>
    <artifactId>javacv-platform</artifactId>
    <version>1.5.2</version>
</dependency>

这个依赖很大,因为它是跨平台的,所以他要满足所有系统的要求, so 看网速了一般1~2小时左右。

上代码

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
    }
}

是不是可以自己做一个电视了!。

Q.E.D.