当前位置: 首页 > 知识库问答 >
问题:

Android Exoplayer 2 UDP解码问题

谭山
2023-03-14

我是ExoPlayer的新手,我目前正在使用它来播放本地的Udp流(来自法国数字电视:1080p5-10 mbps的可变比特率)我设法在不同的设备上播放一些Udp流和一些测试视频,这些视频来自http://jell.yfish.us/。我已经用HLS和Udp流进行了一些不同的视频解码测试,并使用以下Udp代码

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.myactivity);

    sufaceview = (SurfaceView) findViewById(R.id.surfaceView2);


    BandwidthMeter bandwidthMeter = new DefaultBandwidthMeter();
    TrackSelection.Factory videoTrackSelectionFactory =
            new AdaptiveTrackSelection.Factory(bandwidthMeter);
    TrackSelector trackSelector =
            new DefaultTrackSelector(videoTrackSelectionFactory);

    LoadControl loadControl = new DefaultLoadControl(
            new DefaultAllocator(true, C.DEFAULT_BUFFER_SEGMENT_SIZE),
            15000, 60000, 2500, 6000);


    player = ExoPlayerFactory.newSimpleInstance(this, trackSelector, loadControl);


    Uri uri =
            Uri.parse
                    ("udp://@239.192.2.2:1234");

    final DefaultBandwidthMeter bandwidthMeterA = new DefaultBandwidthMeter();

    DataSource.Factory dataSourceFactory = new DefaultDataSourceFactory(this,
            Util.getUserAgent(this, "teveolauncher"), bandwidthMeterA);

    extractorsFactory = new DefaultExtractorsFactory();

    DataSource.Factory udsf = new UdpDataSource.Factory() {
        @Override
        public DataSource createDataSource() {
            return new UdpDataSource(null, 3000, 100000);
        }
    };
    ExtractorsFactory tsExtractorFactory = new ExtractorsFactory() {
        @Override
        public Extractor[] createExtractors() {
            return new TsExtractor[]{new TsExtractor(MODE_SINGLE_PMT,
                    new TimestampAdjuster(0), new DefaultTsPayloadReaderFactory())};
        }
    };



    MediaSource videoSource = new ExtractorMediaSource
            (uri, udsf, tsExtractorFactory, null, null);

    player.setVideoSurfaceView(sufaceview);
    player.prepare(videoSource);
    player.setPlayWhenReady(true);

}
    DataSource.Factory dataSourceFactory = new DefaultDataSourceFactory(this,
            Util.getUserAgent(this, "teveolauncher"), bandwidthMeterA);

    MediaSource videoSource = new HlsMediaSource
            (uri, dataSourceFactory, null, null);

共有1个答案

祁渊
2023-03-14
    Uri uri = Uri.parse("udp://@239.192.2.2:1234");

我认为UDP不是一个协议--它是一种传输,(像TCP一样)。也不能使用tcp://host:port/URL。

还是管用?

 类似资料:
  • 我正在做我的android项目 Java代码: 数组成员:数组成员是。我检查了UTF-16的表格。它没有任何负数,而且我使用了一个将单词转换为UTF-16M的网站。它给了我十六进制。如果将此数字更改为十进制,您将看到以下内容:。正如你看到的,这里没有负数!所以我的第一个问题是这些负数是什么?! 为什么要将单词转换为UTF-8或UTF-16? 我在做一个项目,这个项目有两个部分。第一部分是一个and

  • 问题内容: 在Swift中,我使用解码HTML ,如下所示: 但是结果是这样的: 摆脱水坝»数十个»贸易促进»™返回 真实结果必须与 这种方法有什么问题? 问题答案: 您必须在文档选项中指定使用的字符 编码 : (已为Swift 4更新)

  • 我在将文本从UTF-8编码转换为UTF-8编码时遇到问题。这里有字节数组, 我正在将其转换为UTF-8字符串并返回字节数组, 据我所知,这是一个3字节的数组。正当但这是我得到的。 这是什么原因?据我所知,在UTF-8 Specials中,2391189组合被称为替换字符。 这也是一个更大问题的一部分。

  • 本文向大家介绍浅谈编码,解码,乱码的问题,包括了浅谈编码,解码,乱码的问题的使用技巧和注意事项,需要的朋友参考一下 在开发的过程中,我们不可避免的会遇到各种各样的编码,解码,或者乱码问题,很多时候,我们可以正常的解决问题,但是说实在的,我们有可能并不清楚问题到底是怎么被解决的,秉承知其然,更要知其所以然的理念,经过一番研究,就有了下面的这篇文章,鉴于本人功力尚浅,有错误请给予纠正 :-) 编码解码

  • 这是我的java程序:

  • 我已经下载了json和我的对话档案。我坚持使用奇怪的编码。 json的例子: 应该是这样的: 我正试图这样反序列化它: 不幸的是,输出如下: 有人知道Facebook如何编码json吗?我尝试了几种方法,但没有结果。 谢谢你的帮助。