问题标签 [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.

0 投票
1 回答
5124 浏览

android - 使用 FFmpeg 在 Android 上将 MPEG4 转换为 MPEGTS

好的,很明显,当我发表原始帖子时,我对 ffmpeg API 知之甚少……当一个人开始学习数字媒体和转换细节时,我感到非常不知所措。在阅读了更多内容并通过 ffmpeg 源代码之后,我能够获得从 mp4 到 mpegts 的工作输出。该概念类似于执行:

但正如我之前提到的,我需要用 C 中的 ffmpeg API 来实现它。

因此,虽然我能够生成一个可播放的 .ts 文件,但它的视频和音频流并未同步。也就是说,在 Android 平板电脑上播放它们会非常缓慢地播放视频,而音频以正常速度播放,然后(一旦音频流结束)视频以正常速度播放到最后。在 VLC 中播放相同的生成 .ts 文件会产生非常压缩的音频(就像快进一样)并且可以很好地播放视频。

媒体转换还有很多我不熟悉的方面。我确信其中一些会阻止我成功转换。

以下是有关文件的一些信息(通过 ffprobe): - in.mp4 - 通过 Android 录制生成的文件 - MPEG4 (H.264 + AAC) - ffmpeg.ts - 通过 ffmpeg 转换生成的文件 - MPEG2TS (H.264 + AAC) - out.ts - 通过我的代码生成的文件 - MPEGTS (H.264 + AAC)

在.mp4

ffmpeg.ts

输出.ts

首先,我无法影响输出文件的 start_time。接下来,在检查 probe 的 -show_packets 输出后,我看到了以下内容:

ffmpeg.ts

输出.ts

如您所见,ffmpeg.ts 以没有 pts/dts 的视频数据包开始。随后的音频数据包包含 pts/dts。如此重复直到结束。根据 ffprobe 输出,所有视频数据包都没有 pts/dts。

但是,out.ts 以音频数据包开头并与视频数据包交替。在这里,视频数据包也没有 pts/dts。不同之处在于,这里在一系列音频包之间有一个视频包。其余的视频数据包发生了什么(ffmpeg.ts 有 ~5 个音频,然后是 ~5 个视频)。

显然,我还在学习,还不太了解……有什么东西对任何人来说都是显而易见的问题吗?我将非常感谢任何信息/建议,但会继续努力!

0 投票
1 回答
767 浏览

video-streaming - 隐藏式字幕中的 ATSC 图片用户数据

在 Adob​​e Media Server 5.0.1 中,隐藏式字幕工作流支持存储在ATSC图片用户数据中的流式字幕数据。什么是ATSC图片用户数据?

0 投票
1 回答
883 浏览

ffmpeg - 我不能在 ffmpeg 中使用 AV_CODEC_ID_MPEG2TS

我想使用 ffmpeg 将 yuv 原始视频文件转换为 ts 流视频文件。所以我在我的代码中这样做:

但是当我运行它时,它会发生:

我把“AV_CODEC_ID_MPEG2TS”改成“AV_CODEC_ID_MPEG2VIDEO”,效果很好,生成的mpg文件也运行良好。所以我想问为什么我不能使用“AV_CODEC_ID_MPEG2TS”?

0 投票
1 回答
450 浏览

c - 将 mp4 转换为 mpeg2-ts 在音频数据包上崩溃

我已经编写了一些 C 代码,它采用带有 h264 编码视频和 AAC 编码音频的 mp4 文件并将其写入分段的 .ts 文件。

代码可以在这里看到:http: //pastebin.com/JVdgjM9G

问题是代码在音频数据包上阻塞。因为我是从 h264 转换的,所以我必须使用我最终为视频帧工作的“h264_mp4toannexb”。但是,一旦程序到达第一个音频包(下面的流 1),它就会崩溃。

样本输出:

我尝试更改代码以也在音频流上运行过滤器(使用audio_stream->codec而不是video_stream->codec),但这只是从过滤器中给出错误。

当我尝试调用时出现问题av_interleaved_write_frame(output_context, &packet);- 对于过滤后的视频数据包,没有问题,但它完全阻塞了音频数据包。不过,我有点困惑为什么,所以任何帮助表示赞赏。

0 投票
1 回答
1577 浏览

c - mp4转mpeg ts,影音播放太快

我正在将 MP4 文件转换为 MPEG TS 格式,尽管我的代码已经开始生成视频文件,但视频和音频正在以超高速运行。在输出文件上运行avconv -i(与 相同ffmpeg -i)我得到以下结果(180 fps!):

目前,在我的代码中,我不会更改数据包的 PTS 或 DTS 值,我很确定这就是搞砸我的视频的原因。我唯一改变的是通过这段代码的 time_base (变量应该自己说话):

我知道我可能应该打电话packet.pts = av_rescale_q(...),但我不确定我应该在哪些 time_bases / values 之间重新调整。

完整的代码可以在这里看到http://pastebin.com/CHvrvc3G

对于我的输入/输出(代码行 189+190),我得到以下输出:

0 投票
2 回答
4483 浏览

ffmpeg - 需要帮助将 Red5 RTMP 流转码为 MPEG2-TS

我和我的朋友要进行现场表演,为此我在我的旧 2006 Intel Core Duo Mac mini 上设置了一个 Red5 服务器,运行 Mac OS X Snow Leopard Server 10.6.8。

我使用 Flash Media Live Encoder 向 Red5 的 oflaDemo 应用程序广播,并且流效果很好,除了我希望流与 iOS 一起使用。我正在为它开发一个应用程序,但我仍然需要将我的流转换为 Apple 的 HTTP Live Streaming 协议才能使其工作。谁能帮我将 RTMP 流转换为 MPEG2-TS,因为那是 mediastreamsegmenter 支持的格式?我已经在服务器上安装了 Apple 的 HTTP Live Streaming Tools,所以分段器不是问题。

FFmpeg 不起作用,至少对于我在这里找到的代码不起作用。有了它,总是会出现“不允许操作”错误。Xuggler 不起作用,即使是 Linux 机器也不行。有人可以帮我吗?我真的,真的很感激。

——雷尼尔·阿隆

0 投票
0 回答
690 浏览

ffmpeg - 使用ffmpeg将mpeg-4的mdat写入mpeg-ts

如果我有一个不完整的 ftyp 和 moov 但 mdat 有效的 mp4 文件,我可以将 mdat 帧写入 mpeg-ts 吗?如果我不打算解码/编码,我真的需要获取 sps 和 pps 吗?它不应该简单地将输入流中的帧读/写到输出流中吗?

0 投票
3 回答
8882 浏览

gstreamer - 使用 gstreamer 通过 RTP 流式传输 mpeg2-ts 视频

我正在尝试使用 gstreamer 通过 RTP 流式传输 mpeg2-ts 视频。我正在为服务器使用以下管道:

我面临的问题是我直接获得了如下所述的 EOS 事件:

我可以理解它运行得非常快,但是如何解决它?

0 投票
2 回答
1459 浏览

android - Android MediaRecorder 产生无法播放的 MPEG2TS 输出

我正在使用 MediaRecorder 在三星 Galaxy Note 2 上使用 MPEG2TS 容器录制视频。它初始化时没有任何错误,并且实际上将数据写入文件(文件增长到几 MB)。但是,该文件无法在任何媒体播放器中播放。

这是我初始化 MediaRecorder 的代码:

当我将输出格式设置为 MP4(“2”)而不是 MPEG2-TS(“8”)时,上面的代码工作得很好,但是当它设置为 8 时,它会产生一个无法播放(但不是空的)视频!

会发生什么?

编辑:如果有人感兴趣,这是设备上录制的示例视频。

0 投票
1 回答
5439 浏览

gstreamer - 如何在 Gstreamer 中以文本格式获取 playbin 创建的管道?

我正在使用以下管道播放传输流文件 (*.ts):

但我需要自己将其转换为管道。我不确定如何实现这一目标。

到目前为止,我已经尝试过:(工作正常)

但是,如果我用 autoaudiosink 替换 fakesink,它会因未链接错误而失败。

甚至 fakesink 也不适用于视频:

所以我有两个问题:

  1. 如何找出由 playbin 元素创建的管道。
  2. 如何使用 gstreamer 管道播放 mpeg2-ts 文件。