我需要.ts从 mp4 视频创建固定持续时间(例如 5 或 10 秒)的视频块 ( )。我还需要不同格式的块(260p、480p、720p、1080p)。
我可以使用以下命令创建块和 m3u8:
ffmpeg -i input.mp4 -g 60 -hls_time 10 out.m3u8
Run Code Online (Sandbox Code Playgroud)
但无法创建如上所述的不同分辨率。
我有一个具有私有访问权限的 S3 存储桶,其中包含所有音频和视频文件。现在我想在网站中添加下载文件的功能。因此,我正在寻找一种方法来获取每个 S3 对象的可下载 URL,而不将其公开。仅应通过在查询参数中传递令牌来访问该链接,如下所示。
<Link to the S3 bucket object>/?token=<short lived token>
Run Code Online (Sandbox Code Playgroud)
我检查了很多链接,但所有链接都在讨论创建一个可公开访问的存储桶。我找不到任何方法可以从私人存储桶中做到这一点。如果您有任何建议,请告诉我。
注意:一旦我获得了 S3 对象的可下载 URL。我还将用它来传输音频和视频。
我正在构建一个流式传输视频内容的应用程序,例如 TikTok。因此,您可以在表格中滑动视频,当新单元格可见时,视频开始播放。它的效果非常好,除非你将它与 TikTok 或 Instagram 等进行比较。我的视频开始流式传输速度非常快,但并非总是如此,它对网络质量非常敏感,有时即使网络很好,它仍然缓冲太长时间。与 TikTok、Instagram 相比……在相同条件下,他们似乎没有这个问题。我使用 JWPlayer 作为视频托管服务,使用 AVPlayer 作为播放器。我还在将资产分配给 PlayerItem 之前对资产进行异步预加载。所以我的问题是我还能做些什么来加快视频启动速度。在将其上传到流媒体服务之前,我是否需要做一些特殊的视频准备工作?(我也流式传输 m3U8 文件)。是否有一些预设可以实现最佳的流媒体质量和启动速度。提前致谢。
我们正在开展一个内容为视频的教育项目。有谁知道我们如何检查视频是否已完全观看而不跳过任何部分?我们正在使用 html5 视频播放器:
<video width="480" height="400" controls="true" poster="">
<source type="video/mp4" src="video.mp4"></source>
</video>
Run Code Online (Sandbox Code Playgroud) 我正在尝试制作一个实时 P2P 视频聊天应用程序。
我发现使用 socket.io-stream 库会有帮助。但我不知道如何实现这个库。
不过,我的视频播放器在客户端工作正常。我只想使用 socket.io 将此流传输到其他连接的客户端。
我的服务器代码如下
let app = require("express")();
let ss = require("socket.io-stream");
let http = require("http").createServer(app);
const routes = require("./routes");
let io = require("socket.io")(http);
routes(app, __dirname);
http.listen(3000, () => {
console.log("app listening on port ", 3000);
});
io.sockets.on("connection", (socket) => {
socket.on("joinRoom", (obj) => {
let { name, stream } = obj;
console.log(name, stream);
});
});
Run Code Online (Sandbox Code Playgroud)
我的客户端脚本如下
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Video Calling</title>
</head>
<body> …Run Code Online (Sandbox Code Playgroud) 我正在构建一个需要流式传输视频并且对手持设备(尤其是iPhone)友好的网站.有些手持设备不支持Flash,所以我避免使用Flash播放器.Youtube如何流式传输视频,以便在桌面和iPhone上播放?我正在寻找一个玩家,或多个玩家,可以根据用户的设备以某种方式激活.
非常感谢您的帮助和指导.谢谢.
我将小型电影(1-3MB)从我的网站流式传输到我的iPhone应用程序中.我有一个slicehost网络服务器,我认为这是一个"500MB切片".我不确定这会如何转化为带宽,但我可以在以后解决这个问题.
我对MPMoviePlayerLoadStateDidChangeNotification的体验不是很好.使用旧的MPMoviePlayerContentPreloadDidFinishNotification,我获得了更可靠的结果
如果我得到一个MPMoviePlayerContentPreloadDidFinishNotification,电影将播放没有口吃,但如果我使用MPMoviePlayerLoadStateDidChangeNotification,电影经常停止.
我不确定检查哪种加载状态:
枚举{MPMovieLoadStateUnknown = 0,MPMovieLoadStatePlayable = 1 << 0,MPMovieLoadStatePlaythroughOK = 1 << 1,MPMovieLoadStateStalled = 1 << 2,};
MPMovieLoadStatePlaythroughOK似乎是我想要的(基于文档中的描述):
MPMovieLoadStatePlaythroughOK
Enough data has been buffered for playback to continue uninterrupted.
Available in iOS 3.2 and later.
Run Code Online (Sandbox Code Playgroud)
但是在我的应用中,负载状态永远不会设置为此状态.
我错过了什么吗?有一个更好的方法吗?
我有一个关于来自Android设备的视频流的问题,也许有人会给我一些关于我的问题的有用建议/建议.所以这是交易:
我有一个来自Android设备的视频流项目.想法是将设备连接到服务器,第一个是流式传输实时视频并将其上传到服务器,第二个设备正在流式传输并观看来自第一个设备的视频.所以有这样的连接:
First Device ----live streaming----> Web Server ------live streaming---->Second Device,第二个设备连接到Web服务器.
任何建议/建议我怎么能这样做以及我应该使用什么?我会很高兴听到你的想法.
提前致谢!