- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发在线电视服务。目标之一是无需任何额外的浏览器插件(Flash 除外)即可播放视频。
我决定使用 MP4,因为大多数 HTML5 浏览器和 Flash(作为后备)都支持它。这些视频由 FFMpeg 从服务器上的 ASF 进行转码。
但是,我发现 MP4 无法直播,因为它有一个用于元数据的 moov 原子,必须指定长度。 FFMpeg 无法直接将 mp4 流式传输到 stdout,因为它将 moov 放在文件末尾。(Live transcoding and streaming of MP4 works in Android but fails in Flash player with NetStream.Play.FileStructureInvalid error)
当然,MPEG-TS是存在的,但HTML5不支持它<video>
.
我想到的是一种将流实时转码为 MP4 的方法,并且在每个新的 HTTP 请求上,首先发送一个 moov,指定一个非常长的视频长度数字,然后开始发送MP4 文件的其余部分。
是否可以使用 MP4 进行流式传输?
经过一些研究和av501的回答,我明白必须知道框架的尺寸才能工作。
能否将 mp4 文件分割成更小的部分以便进行流式传输?
当然,切换到其他容器/格式是一种选择,但唯一与 Flash 和 HTML5 兼容的格式是 mp4/h264,因此如果我必须同时支持这两种格式,我就必须转码两次。
最佳答案
您可以使用碎片MP4。碎片MP4文件的构建如下:
moov [moof mdat]+
moov 框仅包含有关轨道的基本信息(数量、类型、编解码器初始化等),但不包含有关轨道中样本的信息。有关样本位置和样本大小的信息位于 moof 框中,每个 moof 框后面跟着一个 mdat,其中包含前面的 moof 框中描述的样本。通常,人们会选择 (moof, mdat) 对的长度约为 2,4 或 8 秒(没有具体说明,但这些值对于大多数用例来说似乎是合理的)。
这是构建永无休止的 MP4 流的一种方法。
关于streaming - 通过 MP4 进行直播,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13010530/
我致力于收集互联网广播流文件,例如 m3u,其中包含一个流式链接 (例如 http://aska.ru-hoster.com:8053/autodj )。 我没有找到关于如何检查链接是否可用/有效的示
为了学校,我需要建立一个 HTML5 直播网站。他们有一个他们一直在使用的 Flash 流播放器,但现在他们希望它改用 HTML5。我怎样才能做到这一点?我尝试使用视频标签,但无法正常工作。下面是我的
我正在尝试使用 FFmpeg 将视频循环流式传输到 justin.tv?我已经设法循环图像序列并将其与音频中的线条组合起来: ffmpeg -loop 1 -i imageSequence%04d.j
使用 WebAudio API 播放直播流的正确方法是什么。 我正在尝试使用以下代码,但是我看到的只是正在下载 MP3,但没有播放;可能 MediaElementSource 需要一个文件,而不是连续
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 6 年前。 Improve this qu
我正在开发一个播放实时 HTTP 网络广播流(.pls、.mp3 ...)的应用程序。我可以使用 MPMusicPlayerController 播放流吗?塔克斯。 最佳答案 我认为您不能使用 MPM
好的,我一直在努力解决这个 http 直播。我只是不明白,是的,我已经阅读了所有苹果文档并观看了 wwdc 视频,但仍然非常困惑,所以请帮助想成为程序员的人!!! 你写的代码跑到服务器上了?不在 xc
我正在尝试构建一个移动应用程序,该应用程序从设备的摄像头流式传输视频并将其实时发送到服务器。此外,移动设备应该能够播放从服务器接收到的实况视频。 我正在 Flutter 中构建应用程序,但似乎无法在
我正在使用 ffmpeg sdk 在 youtube live 上流式传输实时视频 av_interleaved_write_frame(m_pAvFmtCntx, pkt); av_interlea
我在 android 上使用 ffmpeg 3.4 版本的源代码。我尝试使用它来复用音频/视频元素流作为 m3u8 输出并使用以下选项: int num = av_opt_set_from_s
我正在尝试使用静态图像和音频文件通过 ffmpeg 进行直播。像这样的ffmpeg命令 ffmpeg -re -loop 1 -f image2 -i '/tmp/11.jpg' -f lavfi -
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 7年前关闭。 Improve thi
我希望能够将 iPhone 摄像头的帧/视频(实时)流式传输到互联网。我在线程(streaming video FROM an iPhone)中看到可以使用AVCaptureSession的begin
我想创建一个网站,每个用户都可以创建/开始直播。 但正如我现在所看到的,我只能为我自己的帐户创建一个流。启用了 Youtube 数据 API 的那个。 key 是用代码编写的。所以我无权从某人的帐户创
我正在构建一个监控系统,它可以在白天将视频流式传输到 YouTube,但在夜间会关闭。 YouTube 直播在停止接收数据时会自动关闭流。 我可以使用 API 开始另一个流,但我想为公众保留相同的 Y
我在 YouTube 上有现场事件,我想在我的网站上播放它。我想将我的事件设为私有(private),获取它的 RTMP 广播 URL 并将其粘贴到我的网站上,在 JWPlayer 中。 那可能吗?
1- 哪一个更适合用于流媒体视频? TCP 或 UDP 套接字以及为什么? 2-直播时,音频和视频分别来自服务器,那么如何确保我显示的视频和设备上播放的音频同步? 最佳答案 我不久前编写了一个语音聊天
一直在使用 ffmpeg 通过 HLS 进行直播并通过 video.js 进行播放。它可以工作,但流开始的时间和实际开始播放的时间之间有 20 秒的延迟。 你知道为什么下面的 ffmpeg 命令不会像
除了无法解释的 Sample TV Input 应用 (https://github.com/googlesamples/androidtv-sample-inputs/),没有很多关于如何在 Liv
我真的厌倦了这个问题。如果有人在这方面帮助我,我将不胜感激。 我的一个应用被拒绝,原因是 Video streaming content over a cellular network longer
我是一名优秀的程序员,十分优秀!