问题标签 [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 回答
691 浏览

mpeg2-ts - 从 MPEG 传输流中提取 AC-3

我正在为 MPEG 传输流编写一个解复用器,它应该提取音频和视频访问点。假设我有一个音频 PID,并且我知道它是 AC-3 音频。还假设我收集了所有 PID 的 TS 数据包并组装了它们的 PES。

1.如何提取 AC-3 接入点?根据我目前阅读的内容,AC-3 标头应该以 0x0B 0xFF 开头,但是通过查看 PES 的有效负载,它不存在... 2. AC-3 的 PES 流 ID 是 PRIVATE_STREAM_1。它有“可选的 PES 标头”吗?

谢谢!

0 投票
1 回答
1468 浏览

ffmpeg - 从 libavformat 获取 TS 数据包到缓冲区

我想捕获视频,将其压缩并复用为 mpeg2 ts。使用 ffmpeg 库,所有这些都非常简单,但我想做的不是将其写入文件,而是在缓冲区中捕获 ts 数据包并以其他方式使用此流。有没有一种简单的方法可以做到这一点?

为了立即将编码帧写入文件,我使用 av_interleaved_write_frame(oc, &pkt)。OC 是一个定义了文件名和格式的输出上下文。pkt 是一个包含压缩帧的 AVPacket。av_interlaced_write_frame 正在执行复用和写入文件。

我最终想要实现的是将相同的 ts 流写入多个文件,并开始和停止写入彼此独立的不同文件。为每个流启动一个新的复用器似乎效率低下,因为 TS 流不应该需要任何标题或正确的结尾才能正确播放(如果我读到的内容是正确的)

我有点迷失在 ffmpeg 代码中寻找好的例子,而且这些库的文档也不是很好。对此主题的任何意见表示赞赏。谢谢!

0 投票
1 回答
1083 浏览

visual-c++ - 捕获具有准确时间戳的网络数据包

我正在使用 winpcap 库捕获网络数据包(传输流)及其到达时间。但是我遇到了一些问题。每当我在我的机器上播放音频或从网络复制一个大文件时,我捕获的数据包的时间信息就会失真。一些数据包的时间戳彼此非常接近,而另一些则有点远。是有任何解决方案(软件/硬件)来纠正这个问题。我需要准确的网络数据包时间戳。

0 投票
5 回答
19816 浏览

mpmovieplayercontroller - AVPlayer/MPMoviePlayerController 的字幕

我正在使用 m3u8 视频格式流式传输视频,现在我需要显示相同的字幕。

我在 Apple Documentation中搜索,发现可以通过使用closedCaptionDisplayEnabled.AVPlayer

我很想知道字幕的格式应该是什么?.srt 格式可以吗?

我也可以实现相同的使用MPMoviePlayerController吗?

任何帮助表示赞赏。

0 投票
0 回答
1705 浏览

java - Java TV API 指南

我想编写一个传输流(TS)监控程序来监控网络上的媒体流。我想监视哪些流是活着的,如果可能的话,捕获有关它们的信息。我想使用免费的开源框架,而不是这样的应用程序。我是一名 java 程序员,发现Java TV API 1.1 (JSR-927)是我的目的的 java 框架。我找到了几个资源和 java-docs 但是我没有找到任何使用这个框架的示例程序。我所看到的只是一些 java 接口,我很困惑如何在实际程序中使用它们。是否需要使用videoLan DVBLast等DVB框架才能使用?如果有人知道这个框架的用法;这对我很有用。

0 投票
1 回答
1209 浏览

video - 如何在传输流中找到图片头?

如果图片头依赖于编解码器,或者在传输流中可以找到图片头的一般位置?

0 投票
3 回答
57174 浏览

audio - FFmpeg - 从传输流文件(.ts)中提取视频和音频

我希望通过指定其 PID 而不会损失质量并在结果文件中使用相同的编解码器(输出文件是 MPEG)来提取传输流文件(.ts)中某个程序的音频和视频。

FFmpeg甚至可能吗?如果是这样,我该怎么做?

到目前为止,我已经来到这个命令:

编辑:请注意,文件 output.mpg 已创建。该文件包含视频,但未附加音频(无声音)。另外,我无法指定要提取的程序 PID。

编辑 2:这是ffmpeg -i tsfile.ts的输出

这是.ts 文件上的 tsinfo.exe

0 投票
0 回答
496 浏览

ffmpeg - 如何使用 avconv 创建带有私有二进制数据的 MPEG 流?

我有一些需要通过 MPEG 传输流传输的二进制数据。我不需要担心表格,因为过程中的另一个软件会将它们插入流中。

我有一个必须使用的固定私有 PID。有没有办法只使用这个命令行工具(avconv)用我的私人 PID 将这个二进制数据“分解”成 TS 数据包?如果没有,是否可以使用 C 库?

0 投票
1 回答
3109 浏览

ffmpeg - 如何通过 udp 流式传输 .ts 文件不变

我的计算机中有一个 .ts 文件,我想按原样通过 UDP 发送,每个 udp 消息中的标准 7 188 字节 mpeg 数据包。VLC 和 ffmpeg 可以通过 UDP 发送他们创建的 mpeg,但我不希望文件以任何方式重新混合或转码。tsreader 可以在最昂贵的版本中做到这一点。有没有可以做到这一点的windows工具?

0 投票
2 回答
2851 浏览

audio - 如何更改我的 FFMPEG 命令以使我的 HTTP Live Streams 更高效?

我想在使用 FFMPEG 创建 .ts 文件时减少复用开销。

我使用FFMPEG创建了一系列用于HTTP 实时流的传输流文件。

我的输入是 ismv 格式并包含一个视频和音频流:

有一个与复用相关的问题导致大量开销被添加到流中。这就是向我描述音频问题的方式:

在此处输入图像描述

因此对于给定的 aac 流,开销将是 88%(因为 200 字节将映射到 2 x 188 字节数据包)。

对于视频,iframe 数据包非常大,因此它们可以很好地转换为 .ts 数据包,但是,差异可以像音频数据包一样小,因此它们会遇到同样的问题。

解决方案是将多个 aac 数据包组合成一个更大的流,然后再将它们打包成 .ts。FFMPEG开箱即用吗?