前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >自己开发一个电视----流媒体之JavaCV

自己开发一个电视----流媒体之JavaCV

作者头像
用户2242639
发布2021-06-29 15:39:14
2.4K1
发布2021-06-29 15:39:14
举报
文章被收录于专栏:Java经验总结

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

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

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

然后开始恶补一些知识,身为 Java 的我当然最关注 JavaCV 。JavaCV 是 OpenCVFFmpeg 一个封装还是一个牛逼的事,他是跨平台的。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
    }
}

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-06-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java经验总结 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
媒体处理
媒体处理(Media Processing Service,MPS)是一种云端音视频处理服务。基于腾讯多年音视频领域的深耕,为您提供极致的编码能力,大幅节约存储及带宽成本、实现全平台播放,同时提供视频截图、音视频增强、内容理解、内容审核等能力,满足您在各种场景下对视频的处理需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档