2 个版本
0.18.2 | 2023 年 3 月 30 日 |
---|---|
0.18.1 | 2023 年 2 月 17 日 |
107 在 多媒体 中
每月下载 73 次
在 4 个 Crates 中使用(通过 music-player-addons)
180KB
3.5K SLoC
用法
- 文档
- 尝试运行 Rust Caster 示例,以查看此 crate 的实际应用!
构建
Proto 文件取自 Chromium Open Screen GitHub 镜像。
默认情况下,cargo build
不会尝试从位于 protobuf/*
的文件生成 Rust 代码,如果您想这样做,请在构建期间使用 GENERATE_PROTO
环境变量,并确保您在 $PATH
中有 protoc
二进制文件。
$ 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-19MB
~354K SLoC