23 个版本 (15 个破坏性更新)
0.19.0 | 2024 年 5 月 5 日 |
---|---|
0.18.1 | 2023 年 1 月 15 日 |
0.17.0 | 2022 年 3 月 20 日 |
0.16.0 | 2021 年 1 月 10 日 |
0.8.1 | 2016 年 7 月 29 日 |
#15 in 多媒体
1,858 每月下载次数
185KB
4K SLoC
用法
- 文档
- 尝试运行 Rust Caster 示例,以查看此 Crate 的实际应用!
构建
Proto 文件来自 Chromium Open Screen GitHub 镜像。
默认情况下,cargo build
不会尝试从位于 protobuf/*
的文件生成 Rust 代码,如果您想这样做,请在构建期间使用 GENERATE_PROTO
环境变量,并确保您有 protoc
二进制文件在 $PATH
$ GENERATE_PROTO=true cargo build
运行示例
通用功能
首先,您需要确定要连接的设备的地址。例如,您可以使用以下命令使用 avahi
$ avahi-browse -a --resolve
// Get some info about the Google Cast enabled device (e.g. Chromecast).
$ cargo run --example rust_caster -- -a 192.168.0.100 -i
Number of apps run: 1
App#0: Default Media Receiver (CC1AD845)
Volume level: 1
Muted: false
// Run specific app on the Chromecast.
$ cargo run --example rust_caster -- -a 192.168.0.100 -r youtube
// Stop specific active app.
$ cargo run --example rust_caster -- -a 192.168.0.100 -s youtube
// Stop currently active app.
$ cargo run --example rust_caster -- -a 192.168.0.100 --stop-current
The following app has been stopped: Default Media Receiver (CC1AD845)
媒体功能
// Stream a video.
$ cargo run --example rust_caster -- -a 192.168.0.100 -m http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4
// Stream a video of specific format with buffering.
$ cargo run --example rust_caster -- -a 192.168.0.100 -m http://xxx.webm --media-type video/webm --media-stream-type buffered
// Stream video from YouTube (doesn't work with the latest YouTube app, fix is welcome).
$ cargo run --example rust_caster -- -a 192.168.0.100 -m 7LcUOEP7Brc --media-app youtube
// Display an image.
$ cargo run --example rust_caster -- -a 192.168.0.100 -m https://azasypkin.github.io/style-my-image/images/mozilla.jpg
// Change volume level.
$ cargo run --example rust_caster -- -a 192.168.0.100 --media-volume 0.5
// Mute/unmute media.
$ cargo run --example rust_caster -- -a 192.168.0.100 --media-mute [--media-unmute]
// Pause media.
$ cargo run --example rust_caster -- -a 192.168.0.100 --media-app youtube --media-pause
// Resume/play media.
$ cargo run --example rust_caster -- -a 192.168.0.100 --media-app youtube --media-play
// Seek media.
$ cargo run --example rust_caster -- -a 192.168.0.100 --media-app youtube --media-seek 100
有关 --media-type
的所有可能值的详细信息,请参阅 Google Cast 支持的媒体。
DNS TXT 记录描述
md
- 型号名称(例如 "Chromecast");id
- 特定设备的无连字符 UUID(例如 xx12x3x456xx789xx01xx234x56789x0);fn
- 设备的友好名称(例如 "Living Room");rs
- 未知(例如 "Youtube TV");bs
- 未知(例如 "XX1XXX2X3456");st
- 未知(例如 "1");ca
- 未知(例如 "1234");ic
- 图标路径(例如 "/setup/icon.png");ve
- 版本(例如 "04")。
型号名称
Chromecast
- 标准 Chromecast,支持视频/音频;Chromecast Audio
- Chromecast Audio 设备,仅支持音频。
有用的链接和灵感来源
依赖项
~10-20MB
~362K SLoC