http-live-streaming 相关问题

HTTP直播流是一种媒体流方法,包括下载mpeg2ts文件的片段,包含视频(H.264)和/或音频(AAC或MP3)。该规范由Apple引入,并在iOS中广泛使用。

将 FFMPEG 层添加到 HLS 流导致视频播放问题

我一直在搜索有关 HLS 流的很多信息,并成功地使用 nodejs 创建了一个简单的 HLS 流服务器,现在的问题是我需要向 .ts 块添加一层 ffmpeg 编码

回答 1 投票 0

如何处理来自客户端和服务器的视频请求?

上下文: 我有一个 m3u8 扩展名的视频,该视频在 video/ 文件夹中分为多个块: 段.m3u8 段0.ts 段1.ts 段2.ts ... 在客户端(带有视频和源标签的 ReactJs ...

回答 0 投票 0

AVSampleBufferAttachContentKey 不起作用,为什么?

我正在尝试通过 VideoToolbox 播放受保护的 h264 流。但是,当我尝试通过 AVSampleBufferAttachContentKey(::) 将 AVContentKey 绑定到 CMSampleBuffer 时,出现错误: 错误域=

回答 0 投票 0

如何将质量添加到 hls 播放器 (plyr.io) 以及其他控件(倒带、快进、当前时间)?

我正在尝试创建 html/php 播放器(请参阅下面的 html 代码) <question vote="0"> <p>我正在尝试创建 html/php 播放器(请参阅下面的 html 代码)</p> <pre><code>&lt;html&gt; &lt;head&gt; &lt;link rel=&#34;stylesheet&#34; href=&#34;https://cdn.plyr.io/3.5.6/plyr.css&#34; /&gt; &lt;script src=&#34;https://cdn.plyr.io/3.5.6/plyr.js&#34;&gt;&lt;/script&gt; &lt;script src=&#34;https://cdnjs.cloudflare.com/ajax/libs/plyr/3.7.3/plyr.min.js&#34;&gt;&lt;/script&gt; &lt;script src=&#34;https://cdn.jsdelivr.net/hls.js/latest/hls.js&#34;&gt;&lt;/script&gt; &lt;/head&gt; &lt;body&gt; &lt;div id=&#34;player&#34;&gt; &lt;video title=&#34;&lt;?php echo $_REQUEST[&#34;q&#34;]; ?&gt;&#34; preload=&#34;none&#34; id=&#34;video&#34; controls=&#34;controls&#34; autoplay controls crossorigin style=&#34;width:100%;height:100%;&#34;&gt;&lt;/video&gt; &lt;/div&gt; &lt;script&gt; const controls = [ &#39;play-large&#39;, &#39;play&#39;, &#39;fast-forward&#39;, &#39;progress&#39;, &#39;mute&#39;, &#39;volume&#39;, &#39;captions&#39;, &#39;settings&#39;, &#39;pip&#39;, &#39;airplay&#39;, &#39;fullscreen&#39; ]; const player = new Plyr(&#39;#video&#39;,{controls}); setTimeout(videovisible, 4000) function videovisible() { document.getElementById(&#39;loading&#39;).style.display = &#39;none&#39; } var url=&#34;https://bitdash-a.akamaihd.net/content/sintel/hls/playlist.m3u8&#34;; var video = document.getElementById(&#39;video&#39;); if (Hls.isSupported()) { var hls = new Hls(); hls.loadSource(url); hls.attachMedia(video); hls.on(Hls.Events.MANIFEST_PARSED, function() { video.play(); }); } else if (video.canPlayType(&#39;application/vnd.apple.mpegurl&#39;)) { video.src = url; video.addEventListener(&#39;loadedmetadata&#39;, function() { video.play(); }); } &lt;/script&gt; &lt;/body&gt; &lt;/html&gt; </code></pre> <p>我能够向播放器添加控件(见下面的屏幕截图 1)。</p> <p><a href="https://i.stack.imgur.com/UL9NU.png" target="_blank"><img src="https://cdn.imgupio.com/i/AWkuc3RhY2suaW1ndXIuY29tL1VMOU5VLnBuZw==" alt="screenshot 1"/></a></p> <p>但是当我使用 <a href="https://github.com/sampotts/plyr/issues/1741#issuecomment-640293554" rel="nofollow noreferrer">此代码</a> 添加质量选项时,它仅在设置按钮下显示质量并隐藏所有控件(倒带、快进、当前时间等)(参见屏幕截图 2)。</p> <p><a href="https://i.stack.imgur.com/kVVmD.png" target="_blank"><img src="https://cdn.imgupio.com/i/AWkuc3RhY2suaW1ndXIuY29tL2tWVm1ELnBuZw==" alt="screenshot 2"/></a></p> <p>我尝试使用 <a href="https://github.com/sampotts/plyr/issues/1741#issuecomment-640293554" rel="nofollow noreferrer">此代码</a> 添加质量选项,但它仅在设置按钮下显示质量并隐藏所有控件(倒带、快进、当前时间等)所以不知道这里出了什么问题。这是修改后的代码。</p> <pre><code>var video = document.getElementById(&#39;video&#39;); var url = &#39;https://bitdash-a.akamaihd.net/content/sintel/hls/playlist.m3u8&#39;; const controls = [ &#39;play-large&#39;, &#39;play&#39;, &#39;fast-forward&#39;, &#39;progress&#39;, &#39;mute&#39;, &#39;volume&#39;, &#39;captions&#39;, &#39;settings&#39;, &#39;pip&#39;, &#39;airplay&#39;, &#39;fullscreen&#39; ]; const defaultOptions = {}; function updateQuality(newQuality) { window.hls.levels.forEach((level, levelIndex) =&gt; { if (level.height === newQuality) { console.log(&#34;Found quality match with &#34; + newQuality); window.hls.currentLevel = levelIndex; } }); } if (Hls.isSupported()) { var hls = new Hls(); hls.loadSource(url); //hls.attachMedia(video); hls.on(Hls.Events.MANIFEST_PARSED, function(event,data) { // Transform available levels into an array of integers (height values). var availableQualities = hls.levels.map((l) =&gt; l.height) // Add new qualities to option defaultOptions.quality = { default: availableQualities[0], options: availableQualities, // this ensures Plyr to use Hls to update quality level forced: true, onChange: (e) =&gt; updateQuality(e), } controls.control ={ controls:[&#39;play-large&#39;, &#39;play&#39;, &#39;progress&#39;, &#39;current-time&#39;, &#39;mute&#39;, &#39;volume&#39;, &#39;captions&#39;, &#39;settings&#39;, &#39;pip&#39;, &#39;airplay&#39;, &#39;fullscreen&#39;], } // Initialize here var player = new Plyr(&#39;video&#39;,defaultOptions,controls); }); hls.attachMedia(video); } else if (video.canPlayType(&#39;application/vnd.apple.mpegurl&#39;)) { video.src = url; video.addEventListener(&#39;loadedmetadata&#39;, function(event,data) { var player = new Plyr(&#39;video&#39;,defaultOptions,controls); video.play(); }); } </code></pre> <p>如何在播放器中保持控制和质量?任何指导将不胜感激。 TIA:)</p> </question> </body></html>

回答 0 投票 0

UnityWebRequest已经发送;无法再次开始发送请求

我正在尝试使用 golang 从服务器重新生成令牌 当我在 localhost 中托管此 url 时,我在 chrome 站点中都获得了 rtc 和 rtm 令牌 http://localhost:8080/rte/agora/publisher/uid/1234/ 后来我三...

回答 1 投票 0

在 avplayer (safari 16.3) 上切换分辨率时不使用再现报告

我正在开发 LL-HLS 功能。 在 Safari 中播放我开发的 LL-HLS 时,EXT-X-RENDITION-REPORT 标签似乎在 ABR 更改分辨率时不起作用。 改变

回答 0 投票 0

Shaka 播放器无法在谷歌浏览器上加载 HLS

我正在尝试在 shaka 播放器上加载 VOD。 这是我的网址: https://5b48f8f32d3be.streamlock.net/023a27950bd44774/mp4:22436e792e8b42de_HD.0.mp4/playlist.m3u8 我在控制台中不断收到 4032 错误...

回答 2 投票 0

HLS 编码导致“找不到支持的源”

我目前面临着我遇到的最奇怪的问题,所以我希望有人能解释为什么会这样。我目前正在将我的电影和节目库转换为 HLS 以进行缓冲和

回答 0 投票 0

使用 Android Studio 和 ESP32-Cam 的直播应用程序

我已经设置了我的 ESP32 摄像头,它在本地网络中运行良好。但是,我想将它与我的 android 应用程序集成在一起,即使在网络之外,用户也可以看到直播。我看...

回答 0 投票 0

SRS(RTMP)自动认证与PHP错误。

所以我最近开始使用SRS(https:/github.comossrssrs),我已经有很多问题想办法让FFMpeg工作。但现在不同了,我需要做基本的 ...

回答 1 投票 1

直接服务静态视频内容与通过自适应流媒体协议(HLS,DASH)服务。

通过自适应流媒体协议(如HLS或DASH)来提供静态视频内容(非实时流),在速度上是否比直接使用HTTP服务器作为文件提供服务有优势? ...

回答 1 投票 0

如何禁止其他IP使用我的rtmp-ffmpeg重流链接?

我用rtmp-ffmpeg技术重播流媒体,在etcnginxsites-available中,我允许我的域名显示我的流媒体,就像这样: server { listen 80; #root varwwwhtml; #index ...

回答 1 投票 0

媒体错误。不支持的格式或来源

我正在使用media player js来制作视频,我试图在ios和android中播放hls和dash视频格式。下面是我目前所拥有的。现场演示代码笔:现场演示HTML

回答 1 投票 0

使用ffmpeg进行飞速转码和HLS流式传输

我正在建立一个网络应用程序,它涉及到提供各种视频内容。对网络友好的音频和视频编解码器的处理没有任何问题,但我在设计时遇到了麻烦。

回答 1 投票 0

Ffmpeg在转换为hls时,字幕不同步。

我有一个文件,有字幕刻录到它,他们是完全同步的。这是文件。https:/983yqbz442.s3.amazonaws.comlittle-mermaid-captions.mp4我运行这个命令转换为hls......

回答 1 投票 0

AVPlayer - 检索所有格式的音轨。

我正在开发一个tvOS应用程序,在该应用程序中,我使用AVPlayer播放HLS播放列表,该列表为某些语言提供两种格式的音频。例如,我使用AVPlayer播放一个HLS播放列表,该列表为某些语言提供两种格式的音频。法语 (AAC) 法语 (EC-3) 英语 我...

回答 1 投票 1

在播放器中使用HLS和DASH+DRM的推荐方法是什么?

我正在使用VideoJS播放器,并且有一个CMAF视频,所以我正在使用HLS和DASH。我也在使用所有3种DRM。HLS的Fairplay,widevine和dash的playready。我的问题是,我应该包括...

回答 1 投票 1

为视频应用选择HLS还是MPEG-DASH?

我们正在开发一个移动视频应用,需要决定HLS和MPEG-DASH之间的视频协议。我们的主要考虑是这2个协议中哪一个对浏览器的支持和兼容性更好。

回答 1 投票 1

Apple TV AVPlayerViewController在寻找暂停的流时,没有出现帧的缩略图。 tvOS 11

从tvOS 11开始,对于开箱即用的AVPlayerViewController来说,在寻求暂停的流时,画面的缩略图是不存在的。我用tvOS 10检查了相同的HLS流,我确实看到了一个缩略图。我有...

回答 1 投票 0

支持videomp2t浏览器直播

有什么方法可以让我们在浏览器中直播 "videomp2t "的内容吗?我正在构建一个直播应用,其中一些URL没有指定任何mimetype,但内容是 "videomp2t"。我试过...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.