问题标签 [transport-stream]

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.

0 投票
1 回答
613 浏览

python-3.x - 以字节模式编写文件并在 Python 中放置行分隔符

我正在尝试将 MPEG-2 TS 文件转换为字节模式文件,并在 Python3 中的 188 字节数据包之间放置某种分隔符。这是我的代码:

不幸的是,这段代码没有放置新的行分隔符,所以文件看起来没有中断,所以我不能可靠地 grep 里面的字符串。如果我从f_out_writeto切换print()并手动执行将文件转发stdout到文件的脚本,我得到了正确的格式。

[编辑]:我想在文件中有这样的东西:

如您所见,我在每一行都有一个新数据包。print(codecs.encode(line, 'hex'))如果我执行命令,这实际上是输出。相反,我的文件没有分离数据包。

0 投票
1 回答
856 浏览

loops - VLC:使用多个视频 PID 循环播放 MPEG-TS 文件

我正在使用循环、打包和提供的静态 TS(MPEG 传输流)文件模拟一堆 DASH 和 HLS 直播流,如下所示:

创建 TS 文件ffmpeg用于将输入的 1080p 内容 (myfile.mov) 转换为 1 个音频流和 3 个视频流:720p、480p 和 360p。检查生成的文件以确保其构造正确。

cvlc用于循环 TS,因为它正确处理每个循环的 PCR 和 PTS 更新,使视频“看起来”直播。

这是我的cvlc命令:

我的问题是cvlc随机重新编号和重新排序视频 PID,因此打包程序无法将正确的分辨率放在正确的位置以进行自适应流式传输。

如何循环播放 MPEG-TS 并cvlc单独保留 PID(或至少保持数字顺序),并且仅在每个循环期间更新 PCR/PTS/DTS?

0 投票
2 回答
228 浏览

c - 使用 gstreamer 将遥测数据复用到 MPEG-ts 文件中

我最近开始使用 Gstreamer,我已经成功地使用 mpegtsmux 将音频流和 2 个摄像机流混合到 MPEG-TS 文件中,现在想将来自加速度计的遥测数据注入数据流。我想通过使用图文电视来做到这一点,这是由 mpegtsmux 支持的,然后使用 appsrc 将数据注入管道。以前有没有人成功过,我似乎找不到任何将图文电视注入数据流的例子。

0 投票
0 回答
1458 浏览

python - 格式化 ffmpeg 命令以提取 mpg/ts 文件的完整 klv

我正在使用klvdata和 ffmpeg从 mpg 文件中提取KLV数据。

按照自述文件,我下载了包含 KLV 数据的示例“Day Flight.mpg”视频文件。运行快速启动命令有效(我得到的结果与前 6 帧的自述文件示例完全相同。)

但是,对于我的生活,我不知道如何提取整个视频文件的 KLV 数据。

作为实验,我尝试从偏移开始创建 KLV 数据文件:

当我以不同的开始时间(5、25 等)通过我的代码运行它时,我确实得到了不同的结果。

这(对我而言)表明 mpg 文件确实包含 KLV 数据,但我一次只能访问 6 帧。

我希望能够运行 ffmpeg 命令来输出完整的KLV 数据。我需要帮助格式化我的 ffmpeg 命令以正确提供所有数据。

要复制,请从klvdata 项目页面下载“Day Flight.mpg”文件并运行我在上面发布的命令。您会注意到它的长度不到一页。它应该有很多很多页。谢谢您的帮助!

0 投票
1 回答
46 浏览

http-live-streaming - HLS 为什么选择 TS 容器?

我阅读了HTTP Live Streaming Specification

但我不明白为什么 HLS 选择 TS 格式作为标准。HLS 基于可靠通信的 HTTP。因此,我认为PS格式比TS更合适。

有谁知道吗?技术史??

0 投票
1 回答
341 浏览

ffmpeg - 如何使用ffmpeg将带有两个切片包的捕获视频流转换为带有一个切片包的传输流?

我已经从多媒体设备捕获了视频帧。捕获的流有两个切片数据包。为了测试用例,我需要将其转换为带有一个切片数据包的传输流。

任何建议/指针?

0 投票
1 回答
70 浏览

video-streaming - VLC displaying only a small portion of the output then crashes when reading SDP file

I'm trying to play RTP stream using VLC but its only showing a black with a little bit of the video output then crashes after.(see image).

scap

This is the content of the SDP file:

0 投票
2 回答
1092 浏览

ffmpeg - RTP Stream 显示灰色背景然后崩溃

我正在尝试使用 opencv 和 SDP 文件在 python 中播放一些 RTP 流。我得到一个灰色窗口,顶部有一些扭曲的图像(见附图),几秒钟后程序会崩溃,灰色窗口会关闭。

输出

我还尝试通过wireshark捕获流的数据包并使用媒体信息提取视频信息。

注意:提取的视频播放流畅。

捕获

使用GSpot的媒体信息

其他

SDP 文件包含:

这些是终端中显示的错误代码:

Python代码:

线鲨转储:

https://drive.google.com/open?id=1zppjXVgEcL8Ws-xP3e1J7NJF1UGdPzMA

我是否在 SDP 文件中使用了错误的编解码器代码或时钟速率才能正确显示流?

0 投票
0 回答
1794 浏览

ffmpeg - 为什么 ffmpeg 在接收 MPEG TS 格式的流时显示损坏的视频?

我正在尝试使用 RTP/MPEGTS 流式传输闭路电视录像。我可以使用以下命令在 vlc 中正确查看它(我使用的是 Windows 10):

vlc

当我尝试使用以下命令在 ffmpeg 中接收和播放它时出现问题:

我在前 5 秒得到了一个半体面的视频:

第一个5

5 秒后视频变得下垂和损坏(请注意,视频的顶部似乎不受影响)

后5

竞争日志可以在这里找到:https ://pastebin.com/7CvbFsQK

这是来自 ffmpeg 的一些日志:

Wireshark 数据包转储:

https://drive.google.com/open?id=1zppjXVgEcL8Ws-xP3e1J7NJF1UGdPzMA

ffmpeg播放流可能有什么问题,可能是使用的编解码器吗?

0 投票
1 回答
492 浏览

mpeg - 如何从十六进制的 PCR 生成时间戳

使用 tsduck 检查传输流时,我可以看到一些数据包包含十六进制的 PCR 值。我不确定如何将这些转换为时间戳。

例如,在下面的数据包中,PCR 值为 0x000002014CE

我尝试的是查看其中包含 PCR 值的数据包的前几个实例,然后将它们转换为十进制,然后除以 90,000,这是 PCR 时钟的时钟速率(即时基)。

以秒为单位的 PCR 表

但是看最后一栏,看起来不太对劲。似乎间隔太高了。我认为 PCR 必须至少每 100 毫秒左右插入一次 PCR 标记,但这似乎太罕见了......