新西兰天维网社区

 找回密码
登录  注册
搜索
热搜: 移民 留学
查看: 888|回复: 18
打印 上一主题 下一主题

[生活] chromecast [复制链接]

Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17

升级  50.7%

UID
10039329
热情
20244
人气
22074
主题
304
帖子
17354
精华
1
积分
30139
阅读权限
30
注册时间
2016-10-21

新时政 元老勋章 10周年纪念 2019-2020年度金ID 2018年度金ID

跳转到指定楼层
楼主
发表于 2019-9-9 09:42:26 |只看该作者 |倒序浏览 微信分享
回帖说明: 本帖严禁互相攻击,违者按照版规处理
我可以将一个video url编程放到chromecast上,但我不能用一个video url, 一个audio url同时在chromecast上播放,例如同一电影的声音配不同清晰度的录像,例如720p, 1080p, 4k不同清晰度的同一段录像,太难了,找不到资料
这是我写的csharp 代码

await ChromeCastController.LoadMedia(
                        FullUrl,
                        "video/mp4",
                        null,
                        StreamType.BUFFERED,
                        0,
                        null);



使用道具 举报

Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17

升级  57.1%

UID
297334
热情
27348
人气
30323
主题
202
帖子
4544
精华
0
积分
31419
阅读权限
30
注册时间
2011-9-28

新时政

沙发
发表于 2019-9-9 10:34:12 |只看该作者 微信分享
流媒体自适应的呀,为什么要好几个不同清晰度的视频? 难道Netflix每个清晰度都保存了一个文件???

使用道具 举报

Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17

升级  50.7%

UID
10039329
热情
20244
人气
22074
主题
304
帖子
17354
精华
1
积分
30139
阅读权限
30
注册时间
2016-10-21

新时政 元老勋章 10周年纪念 2019-2020年度金ID 2018年度金ID

板凳
发表于 2019-9-9 10:41:47 |只看该作者 微信分享
XiaoFaye 发表于 2019-9-9 09:34
流媒体自适应的呀,为什么要好几个不同清晰度的视频? 难道Netflix每个清晰度都保存了一个文件??? ...

我不订netflix,不知道啦

我用的是youtube,对同一部电影,你可以选择不同清晰度的录像

使用道具 举报

Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18

升级  42.14%

UID
10029480
热情
39108
人气
41862
主题
92
帖子
15547
精华
0
积分
48427
阅读权限
30
注册时间
2016-6-1

尊贵铂金 元老勋章 新时政 小星星勋章 体育勋章 10周年纪念 20周年纪念

地板
发表于 2019-9-10 11:46:11 |只看该作者 微信分享
XiaoFaye 发表于 2019-9-9 09:34
流媒体自适应的呀,为什么要好几个不同清晰度的视频? 难道Netflix每个清晰度都保存了一个文件??? ...

事实上业内的作法就是每个清晰度保留一套文件,然后根据你带宽自适应

使用道具 举报

Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17

升级  50.7%

UID
10039329
热情
20244
人气
22074
主题
304
帖子
17354
精华
1
积分
30139
阅读权限
30
注册时间
2016-10-21

新时政 元老勋章 10周年纪念 2019-2020年度金ID 2018年度金ID

5#分享本帖地址
发表于 2019-9-10 11:57:44 |只看该作者 微信分享
rzrljb 发表于 2019-9-10 10:46
事实上业内的作法就是每个清晰度保留一套文件,然后根据你带宽自适应

你的解释很合理,不然如何实现我都想不出来啦

使用道具 举报

Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18

升级  42.14%

UID
10029480
热情
39108
人气
41862
主题
92
帖子
15547
精华
0
积分
48427
阅读权限
30
注册时间
2016-6-1

尊贵铂金 元老勋章 新时政 小星星勋章 体育勋章 10周年纪念 20周年纪念

6#分享本帖地址
发表于 2019-9-10 12:04:55 |只看该作者 微信分享
DDD888 发表于 2019-9-10 10:57
你的解释很合理,不然如何实现我都想不出来啦

一般是根据你原始视频往下压几个档,音频的话也会跟着一起压进去

使用道具 举报

Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17

升级  50.7%

UID
10039329
热情
20244
人气
22074
主题
304
帖子
17354
精华
1
积分
30139
阅读权限
30
注册时间
2016-10-21

新时政 元老勋章 10周年纪念 2019-2020年度金ID 2018年度金ID

7#分享本帖地址
发表于 2019-9-10 12:11:38 |只看该作者 微信分享
rzrljb 发表于 2019-9-10 11:04
一般是根据你原始视频往下压几个档,音频的话也会跟着一起压进去

但youtube提供adaptive stream,音频和视频是分开的,各提供不同品质,有音频和视频在一起的,但图像质量不是最高的

使用道具 举报

Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18

升级  42.14%

UID
10029480
热情
39108
人气
41862
主题
92
帖子
15547
精华
0
积分
48427
阅读权限
30
注册时间
2016-6-1

尊贵铂金 元老勋章 新时政 小星星勋章 体育勋章 10周年纪念 20周年纪念

8#分享本帖地址
发表于 2019-9-10 12:17:34 |只看该作者 微信分享
DDD888 发表于 2019-9-10 11:11
但youtube提供adaptive stream,音频和视频是分开的,各提供不同品质,有音频和视频在一起的,但图像质量 ...

在我看来这是分离压制存储,然后播放器动态组合

使用道具 举报

Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17

升级  50.7%

UID
10039329
热情
20244
人气
22074
主题
304
帖子
17354
精华
1
积分
30139
阅读权限
30
注册时间
2016-10-21

新时政 元老勋章 10周年纪念 2019-2020年度金ID 2018年度金ID

9#分享本帖地址
发表于 2019-9-10 12:26:13 |只看该作者 微信分享
rzrljb 发表于 2019-9-10 11:17
在我看来这是分离压制存储,然后播放器动态组合

是的,我就想知道如何用代码让chromecast同时播放两个不同的文件,音频文件和视频文件,来看电视既有画面又有声音啦

使用道具 举报

Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18

升级  42.14%

UID
10029480
热情
39108
人气
41862
主题
92
帖子
15547
精华
0
积分
48427
阅读权限
30
注册时间
2016-6-1

尊贵铂金 元老勋章 新时政 小星星勋章 体育勋章 10周年纪念 20周年纪念

10#分享本帖地址
发表于 2019-9-10 12:39:12 |只看该作者 微信分享
DDD888 发表于 2019-9-10 11:26
是的,我就想知道如何用代码让chromecast同时播放两个不同的文件,音频文件和视频文件,来看电视既有画面 ...

你可以setup一个ffmpeg的合并服务,动态动态组合并且输出一个url,然后播放url,

使用道具 举报

Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17

升级  50.7%

UID
10039329
热情
20244
人气
22074
主题
304
帖子
17354
精华
1
积分
30139
阅读权限
30
注册时间
2016-10-21

新时政 元老勋章 10周年纪念 2019-2020年度金ID 2018年度金ID

11#分享本帖地址
发表于 2019-9-10 12:43:09 |只看该作者 微信分享
rzrljb 发表于 2019-9-10 11:39
你可以setup一个ffmpeg的合并服务,动态动态组合并且输出一个url,然后播放url,  ...

那需要花时间,例如20秒以上的时间来下载,合并,取决于录像的长短,对只看一次的录像,我不愿意浪费我的硬盘空间

使用道具 举报

Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18

升级  42.14%

UID
10029480
热情
39108
人气
41862
主题
92
帖子
15547
精华
0
积分
48427
阅读权限
30
注册时间
2016-6-1

尊贵铂金 元老勋章 新时政 小星星勋章 体育勋章 10周年纪念 20周年纪念

12#分享本帖地址
发表于 2019-9-10 13:04:58 |只看该作者 微信分享
DDD888 发表于 2019-9-10 11:43
那需要花时间,例如20秒以上的时间来下载,合并,取决于录像的长短,对只看一次的录像,我不愿意浪费我的 ...

你可以直接推流,不保存接收到处理完直接推走

使用道具 举报

Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17

升级  50.7%

UID
10039329
热情
20244
人气
22074
主题
304
帖子
17354
精华
1
积分
30139
阅读权限
30
注册时间
2016-10-21

新时政 元老勋章 10周年纪念 2019-2020年度金ID 2018年度金ID

13#分享本帖地址
发表于 2019-9-10 13:09:45 |只看该作者 微信分享
rzrljb 发表于 2019-9-10 12:04
你可以直接推流,不保存接收到处理完直接推走

谢谢,可以给个网站连接,让我看看你说的,我实在不知道如何实现,我就知道用ffmpeg合并两个文件的command 命令

使用道具 举报

Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18

升级  42.14%

UID
10029480
热情
39108
人气
41862
主题
92
帖子
15547
精华
0
积分
48427
阅读权限
30
注册时间
2016-6-1

尊贵铂金 元老勋章 新时政 小星星勋章 体育勋章 10周年纪念 20周年纪念

14#分享本帖地址
发表于 2019-9-10 13:22:14 |只看该作者 微信分享
DDD888 发表于 2019-9-10 12:09
谢谢,可以给个网站连接,让我看看你说的,我实在不知道如何实现,我就知道用ffmpeg合并两个文件的comman ...

https://www.jianshu.com/p/c141fc7881e7
ffmpeg 推流和输出一样的,只是输出的时候写的是xxx.mp4这个写rtmp://127.0.0.1:1935/live/123,用vlc就能播放这个流,之前合并,压缩等操作该怎么做就怎么做

使用道具 举报

Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17

升级  50.7%

UID
10039329
热情
20244
人气
22074
主题
304
帖子
17354
精华
1
积分
30139
阅读权限
30
注册时间
2016-10-21

新时政 元老勋章 10周年纪念 2019-2020年度金ID 2018年度金ID

15#分享本帖地址
发表于 2019-9-10 14:32:18 |只看该作者 微信分享
rzrljb 发表于 2019-9-10 12:22
https://www.jianshu.com/p/c141fc7881e7
ffmpeg 推流和输出一样的,只是输出的时候写的是xxx.mp4这个写r ...

谢谢回答,但这对我没用,chromecast不支持rmtp
https://stackoverflow.com/questi ... h-google-chromecast

使用道具 举报

Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18

升级  42.14%

UID
10029480
热情
39108
人气
41862
主题
92
帖子
15547
精华
0
积分
48427
阅读权限
30
注册时间
2016-6-1

尊贵铂金 元老勋章 新时政 小星星勋章 体育勋章 10周年纪念 20周年纪念

16#分享本帖地址
发表于 2019-9-10 15:26:16 |只看该作者 微信分享
DDD888 发表于 2019-9-10 13:32
谢谢回答,但这对我没用,chromecast不支持rmtp
https://stackoverflow.com/questions/18094988/rtmp-wit ...

那如果你想用hls的话就得用nigix搭一个hls服务,它可以接收rtmp然后转换成m3u8并且自动删除播完的,可以设置缓存,不过太复杂了感觉不划算

使用道具 举报

Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17

升级  50.7%

UID
10039329
热情
20244
人气
22074
主题
304
帖子
17354
精华
1
积分
30139
阅读权限
30
注册时间
2016-10-21

新时政 元老勋章 10周年纪念 2019-2020年度金ID 2018年度金ID

17#分享本帖地址
发表于 2019-9-10 15:31:35 |只看该作者 微信分享
rzrljb 发表于 2019-9-10 14:26
那如果你想用hls的话就得用nigix搭一个hls服务,它可以接收rtmp然后转换成m3u8并且自动删除播完的,可以 ...

谢谢,这是个新思路,但不是我想找的,我就想简单用现成的chromecast

使用道具 举报

Rank: 13Rank: 13Rank: 13Rank: 13

升级  86.72%

UID
10047195
热情
8398
人气
9535
主题
29
帖子
639
精华
0
积分
9336
阅读权限
30
注册时间
2016-11-29

新时政 魔兽世界纪念勋章

18#分享本帖地址
发表于 2019-9-10 16:22:35 |只看该作者 微信分享
随便抓了个视频,貌似get_video_info URI会给一个播放列表(被当作一个叫YTPlayer的JS的参数),videoplayback URI开头的
其中有一个表单名叫itag和aitag 分别代表视频编码和音频编码,完整的list如下:

https://gist.github.com/sidneys/7095afe4da4ae58694d128b1034e01e2


所以,想用videoplayback传form来控制清晰度基本上需要自己在客户端实现一个播放器,或者起码有JS来进行音视频同步。

偷懒的方法就是找音频视频编码在一起的,比如itag=46, 不过不一定有,哈哈

想进一步研究可以利用现成的工具去debug

https://github.com/ytdl-org/youtube-dl

youtube-dl -v --print-traffic --write-pages <URI>

使用道具 举报

Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17

升级  50.7%

UID
10039329
热情
20244
人气
22074
主题
304
帖子
17354
精华
1
积分
30139
阅读权限
30
注册时间
2016-10-21

新时政 元老勋章 10周年纪念 2019-2020年度金ID 2018年度金ID

19#分享本帖地址
发表于 2019-9-10 17:36:18 |只看该作者 微信分享
star_astro 发表于 2019-9-10 15:22
随便抓了个视频,貌似get_video_info URI会给一个播放列表(被当作一个叫YTPlayer的JS的参数),videoplayb ...

音频视频编码在一起的图像质量不高,只有720p,我想要1080p

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

手机版| 联系论坛客服| 广告服务| 招贤纳士| 新西兰天维网

GMT+13, 2025-3-7 03:52 , Processed in 0.027625 second(s), 17 queries .

Powered by Discuz! X2 Licensed

Copyright 2001- Sky Media Limited, All Rights Reserved.

回顶部