问题标签 [mpeg2-ts]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mpeg - 在 Mpeg TS 中查找 ECM 数据
我有一个带有一些加扰的 Mpeg-ts 数据的 pcap 跟踪。我想知道 ECM 数据是否随附?
使用普通的 Wireshark MPEG-ts dis-sector 我看不到这一点。那么,有没有办法做到这一点?
我通过从 pcap 中提取 Mpeg 数据尝试了一些 Mpeg-TS 阅读器,但我无法确定 ECM 是否存在?
另外,我认为 ECM 可以是带内和带外的。那么,如果它是带外的,那么 AI 是如何知道相同的呢?
我在 Mpeg 标头中有一些 PID,但我不确定哪个 PID 指的是 ECM 数据以及我如何能够检测到它。
gstreamer - 播放 mpegts 文件的 Gstreamer 管道适用于 0.10 版但不适用于 1.0
我在 0.10 中有一个有效的 gst-launch 管道:
但是 1.0 版中的相同管道会出现错误:
我也尝试使用 playbin,奇怪的是,它给出了同样的错误。我该如何解决?
编辑:好的,所以我发现是视频部分造成了麻烦。如果我隔离音频和视频部分,音频工作正常!正是这一点引起了麻烦:
任何帮助,将不胜感激。谢谢!
c# - 如何读取 mpegts 的 PAT 表
我刚刚开始研究与读取 mpeg-ts 文件相关的一些工作。这是我的第一个视频流项目,我的第一个任务是从文件中读取程序名称。
我目前正在研究 FFMpeg 和 FFProbe,并且有 C# 经验,想知道我应该使用哪种工具/语言来做到这一点?
还是我需要其他工具或语言?
我已经启动了 TSReader,我可以看到包含信息的 PAT 部分。
video - 是否可以在传输流中嵌入视频长度?
我注意到许多播放器在播放 ts 时不显示视频长度。是否可以在传输流中嵌入视频长度,以便视频播放器可以使用该信息?
c - 检测 MPEG-4 传输流中的 I 帧数据
我正在测试一个项目。我需要按来自用户的百分比来分解 MPEG-4 ts 数据包的有效负载数据(使某些字节为零)。我通过一个包(188字节)读取“.ts”文件包来做到这一点。但是视频在处理后变得非常泥泞。(顺便说一句,我正在用 C 编写程序)
所以我决定找到属于 I 帧的数据/数据包,然后不接触它们,而是按百分比对其他数据进行加扰。我可以在下面找到
(十六进制) 00 00 00 01 E0 视频 PES 数据包的开始 .. .. .. 00 00 01 B8 组图片头的开始 .. .. .. 00 00 01 00 图片起始码。这是 32 位。紧随其后的 10 位称为时间参考。因此,时间参考将包括图片起始码之后的字节和图片起始码之后第二个字节的前两位,即一个字节(8 位)+ 2 位。这些我们需要跳过。现在存在的三位(来自图片起始码的第二个字节的第 3、4 和第 5 位)将指示帧类型,即 I、B 或 P。因此,要获得这个简单的逻辑与和来自图片起始码的第二个字节使用 0x38 和右移 >> 使用 3。
例如数据是这样的;
00 00 01 00 00 0F FF F8 00 00 01 B5............
这里前四个字节 00 00 01 00 是图片起始码。第五个字节和第六个字节的前两位是时间参考。所以我们关心的是第六个字节 --> 0F
框架类型 = 1 ==> I 框架
帧类型 000 禁止
帧类型 001 内编码 (I) - iframe
帧类型 010 预测编码 (P) - p 帧
帧类型 011 双向预测编码 (B) - b 帧
但这是针对 MPEG-2 的。是否有一些这样的模式,所以我可以识别并获取具有 MPEG-4 传输流的按位运算的帧类型(扩展名为“.ts”)?
我需要得到多少字节或数据包属于该帧?
非常感谢你的帮助
google-chrome - Chromecast 和其他浏览器中的 MPEG-DASH MPEG2-TS 支持
有人可以为各种浏览器尤其是 Chromecast 在 MPEG-DASH 下支持 MPEG2-TS 的当前状态提供明确的答案吗?
有证据表明 Chromecast 可以通过 MPEG-DASH 做 mp4 和 webm。但我没有看到任何明确的支持或不支持 MPEG2-TS 的确认。
我的猜测是,基于 Google 的 MSE 不支持 MPEG2-TS,Chromecast 不太可能支持带有 MPEG-DASH 的 MPEG2-TS。但我想要一个坚定的确认。
有其他主流浏览器支持MPEG DASH/MPEG2-TS吗?
谢谢
ios - HTML5 和 MP4 与 M2TS 容器
问题:
为了让 iOS 应用能够将视频流式传输到应用商店,我们需要一个 HLS 版本。
有什么问题?
Android 对 HLS 支持不好,由于其他原因,我们需要存储相同内容的 MP4 和 HLS 文件。
MP4 和 HLS 有什么区别,为什么需要同时存储两者?
MP4 是一个存储 H.264 视频和 AAC 音频的容器,以便在 HTML 5 浏览器中实现最佳兼容性——如果浏览器不支持使用相同 MP4 文件但通过 flash 播放的 HTML 5 中的 MP4 视频,jsvideo 播放器通常会有 flash 回退。
HLS 是一种协议,其中文本文件 (.m3u8) 包含对播放列表的引用,播放列表本身引用 .ts 文件 (或 m2ts),它们是 mpeg-2 传输流,不要与 mpeg-2 视频混淆。.ts 文件是相同 H.264 视频和 AAC 音频的容器。
我为什么抱怨?
从 MP4 文件创建 HLS 文件和播放列表需要时间
(最重要的是)我们现在在 S3 上存储了两倍的数据
我为什么要在乎?如果您存储 MP4 和 HLS 的 S3 账单是每月 1 万美元,那么现在只需 5 千美元。或者换一种说法,如果您为在 MP4 中存储数据支付 10 万美元,那么在 MP4 和 HLS 中存储相同的内容将花费 20 万美元。
我想要什么?
我只想存储 .ts 文件,并使用该文件同时为桌面用户、iOS 用户和 Android 用户提供服务。
可能吗?
HLS 不需要 5-10 秒的 .ts 段而不是一个大文件吗?
从 IETF 草案 7 和协议版本 4 开始,HLS 支持标签 EXT-X-BYTERANGE,它允许您将媒体段指定为较大 URL 的字节范围(子范围)。
.ts 文件是否与 HTML5 视频兼容?
显然不是。它们是与 MP4 不同的容器,但包含相同的视频和音频内容。值得研究如何一次存储原始视频/音频数据,并在必要时简单地使用正确的容器。如果 JS 视频播放器可以在浏览器不支持 HTML 5 MP4 的情况下即时将 HTML 5 MP4 文件转换为 Flash 视频,那么为什么不能对 M2TS 数据做同样的事情呢?
我可能在某种程度上是无知的,但也许有人可以对这个问题有所了解,并可能提出解决方案。
audio - 将 mp2 转换为 mpeg 传输流
此应用程序用于 HTTP Live Streaming。(仅限音频)
我有两个连续的 10 秒 mp2 文件(它们一个接一个地编码,但如果拼接在一起,则作为一个无缝文件播放)。我想从这些文件中创建两个 mpeg-2 传输流。不幸的是,当我执行以下操作时:
输出成功,但我得到以下信息:
另外,如果我使用 0.ts 和 1.ts 创建 m3u8 清单文件,则两者之间有一个空格。
因为我正在动态创建播放列表,所以我无法同时访问这两个文件,否则我会简单地连接然后在转换后对文件进行分段。
我在这里想念什么?我应该以不同的方式对 mp2 进行编码吗?我正在使用twolame,一次做10秒。
video-streaming - MPEG TS 中的 PCR 准确度误差
什么是 PCR 准确度误差?
我正在开发从 TS 中提取特定程序、对它们进行多路复用、制作流 CBR 并传输它们的应用程序。
为了制作流 CBR,我在输出 TS 中插入了 NULL 数据包。
但是在分析仪上,我得到了 PCR-Accuracy_error 之类的错误。什么可能导致此错误。
我认为我的逻辑添加 NULL 以使 CBR 是完美的。您可以在附图中看到这一点。
请帮助我。
udp - 处理 MPEG2-TS 中的重复数据
我正在使用一种设置,在该设置中,我使用基于 UDP 的视频流和 VLC 接收重复的数据报。我想知道 MPEG-TS (ISO/IEC 13818-1) 中是否有一些字段可用于检测重复数据,因此将其丢弃,直到它到达应用层。
问题是重复的帧到达 TCP/IP(应用层)堆栈的顶部,从而与流媒体产生冲突。重复数据的连续性计数器 (CC) 相同,因此接收方认为存在间隙并跳过。