V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  capric  ›  全部回复第 1 页 / 共 3 页
回复总数  46
1  2  3  
8 天前
回复了 CyouYamato 创建的主题 程序员 淘宝 cursor 涨价了
现在银联国内信息卡就可以支持了
铁锅肯定可以洗,洗 5 年多了也没生锈
你想复杂了,出个简单方案吧,教师端用 obs studio 推流,服务端用 mediamtx 或者 zlmediakit 协议转换成 fmp4 over websocket ,然后学生端基于 web 开发走 mse 播放(如果要原生开发,就是 libmpv 播放),全部都是成熟的直播开源方案,你又不要多对多,不要搞 webrtc/p2p 了,把问题搞复杂了
https://github.com/jitsi
https://github.com/bigbluebutton
https://jami.net/
https://openmeetings.apache.org/
https://element.io/
基于 webrtc 启动开发,后面上 mesh/mcu/sfu ,而且你这个在线教育,学生端只要播放教师端视频就行了吧,做成直播会更简单
不要用 flv 已经淘汰全是魔改没必要用,hls 延迟高,用 mediamtx 或者 ZLMediaKit 将 rtsp 协议转换成 fmp4 over websocket 或者 wetrtc
fork 的 nektos/act ,支持自定义 macOS 和 Windows 容器吗
怎么可能,不是你 workflow 写的有问题,就是你脚本有问题,我一天自动跑几十个 workflow ,近半年都没有遇到,自己仔细看日志
29 天前
回复了 liujl 创建的主题 问与答 找方案:学英语根据单词找电影片段
不用模型,把字幕下载好,做分词索引更简单的就是 tire 树,然后根据字幕时间轴和关键帧做好映射
github action ,cargo-zigbuild ,cargo-cross ,clang 交叉编译
有 docker kvm 的,你有硬件可以测试吗,同感兴趣能不能跑平板微信 https://github.com/budtmo/docker-android
用 libmpv 启用 hwdec=auto ,或者使用 ffmpeg 硬件加速+libplacebo ,播放器非常复杂,要颜色映射,hdr/sdr ,还要向上向下缩放,还有同步策略和丢帧策略,做不好不是卡就是画面偏色或者资源占用高
我跑 visual studio 2022 和 rust 自动化 runner ,用来编译代码,tiny10/tiny11 没有问题,是在 linux 下 qemu 跑的,不是物理机 https://github.com/dockur/windows
建议用 https://github.com/rust-cross/cargo-zigbuild 或者 https://github.com/cross-rs/cross 静态链接 musl ,不要静态链接 glibc ,可以动态链接 2012 年的 glibc2.17 ,就可以在主流相同指令集的 linux 上跑起来,比如 cargo zigbuild --target aarch64-unknown-linux-gnu.2.17
88 天前
回复了 HkMuxxx 创建的主题 iPhone iPhone 镜像耗电吗?
不是 DLNA ,AirPlay 镜像是屏幕声音录制,编码,加密,传输,显示端接收、解密,解码渲染,加密和编码有硬件加速,具体耗电量还得结合码率、画质看
楼上用的哪里的国补啊,我看北京的用不了啊
130 天前
回复了 bli22ard 创建的主题 Rust rust TcpStream 为什么设计读写一体
@bli22ard 实现在这里,就是很简单的 Arc 和 clone
```rust
/// Owned read half of a [`TcpStream`], created by [`into_split`].
///
/// Reading from an `OwnedReadHalf` is usually done using the convenience methods found
/// on the [`AsyncReadExt`] trait.
///
/// [`TcpStream`]: TcpStream
/// [`into_split`]: TcpStream::into_split()
/// [`AsyncReadExt`]: trait@crate::io::AsyncReadExt
#[derive(Debug)]
pub struct OwnedReadHalf {
inner: Arc<TcpStream>,
}

/// Owned write half of a [`TcpStream`], created by [`into_split`].
///
/// Note that in the [`AsyncWrite`] implementation of this type, [`poll_shutdown`] will
/// shut down the TCP stream in the write direction. Dropping the write half
/// will also shut down the write half of the TCP stream.
///
/// Writing to an `OwnedWriteHalf` is usually done using the convenience methods found
/// on the [`AsyncWriteExt`] trait.
///
/// [`TcpStream`]: TcpStream
/// [`into_split`]: TcpStream::into_split()
/// [`AsyncWrite`]: trait@crate::io::AsyncWrite
/// [`poll_shutdown`]: fn@crate::io::AsyncWrite::poll_shutdown
/// [`AsyncWriteExt`]: trait@crate::io::AsyncWriteExt
#[derive(Debug)]
pub struct OwnedWriteHalf {
inner: Arc<TcpStream>,
shutdown_on_drop: bool,
}

pub(crate) fn split_owned(stream: TcpStream) -> (OwnedReadHalf, OwnedWriteHalf) {
let arc = Arc::new(stream);
let read = OwnedReadHalf {
inner: Arc::clone(&arc),
};
let write = OwnedWriteHalf {
inner: arc,
shutdown_on_drop: true,
};
(read, write)
}
```
131 天前
回复了 bli22ard 创建的主题 Rust rust TcpStream 为什么设计读写一体
1  2  3  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1288 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 32ms · UTC 16:39 · PVG 00:39 · LAX 08:39 · JFK 11:39
Developed with CodeLauncher
♥ Do have faith in what you're doing.