问题标签 [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 投票
3 回答
5644 浏览

android - 如何以 MPEG-2 TS 输出和 ACC 音频编码格式录制视频

当我设置视频格式 MPEG-2(常数值 8)TS 和音频格式 ACC(常数值 3)时,它只记录视频,而没有 ACC 格式的音频。但它没有给出任何错误。我在三星 Galaxy Tab(蜂窝)上试过。因为 MPEG-2TS 支持 android 版本 3.0+。如果我使用默认的视频和音频格式,它可以正常工作。我怎样才能做到这一点。请帮忙。

0 投票
1 回答
2959 浏览

ffmpeg - 在 MPEG2 传输流中封装 H.264 流可变帧率

想象一下,我有来自实时对话的 H.264 AnxB 帧。封装在 MPEG2 传输流中的最佳方法是什么,同时保持后续播放的时序信息?

我正在使用 libavcodec 和 libavformat 库。当我获得指向 AVCodecContext 类型的对象 (*pcc) 的指针时,我设置了 foll。

当我收到 NAL 单元时,我创建一个 AVPacket 并调用 av_interleaved_write_frame()。

我基本上有两个问题:

1)对于可变帧率,有没有办法不指定foll。pcc->time_base.num = 1; pcc->time_base.den = fps;并将其替换为指示可变帧速率的内容?

2) 在提交数据包时,我应该为 pkt.dts 和 pkt.pts 分配什么“时间戳”?

现在,当我使用 ffplay 播放输出时,它以我在上面的代码中使用的恒定帧率 (fps) 播放。

我也很想知道如何适应不同的空间分辨率。在我收到的流中,每个关键帧前面都有 SPS 和 PPS。我知道空间分辨率何时发生变化。有没有办法不必指定 pcc->width = 640; pcc->高度 = 480;前期?换句话说,表明空间分辨率可以在中途改变。

非常感谢,埃迪

0 投票
3 回答
5261 浏览

audio - 复用到 MPEG-TS:音频流的错误参数

我正在尝试使用 ffmpeg 将视频(H.264)和音频(PCM_S16LE,无压缩)混合到 MPEG 传输流中。视频显示很好。但是,音频流不播放。ffprobe显示的音频流是AAC,这显然不是我的本意。所以我在添加音频流时一定做错了什么。知道如何纠正这个吗?

这是我添加音频流的代码:

这是ffprobe的输出:

0 投票
2 回答
21552 浏览

ffmpeg - 如何通过 UDP 发送 MPEGTS 流

我正在开发一个实时视频流系统,它基本上由一个服务器和几个客户端组成。

现在,让我们忽略数据包是如何在服务器和客户端之间转发的,让我们只关注服务器如何通过 UDP 数据包发送 MPEGTS 流

流以 MPEGTS 格式编码。

我要做的是读取一些数据包(主要问题是“多少?”)并将它们封装在 UDP 数据包中。目的地(客户端)读取这些 UDP 数据包,然后将它们转发给 VLC,VLC 能够通过读取 UDP 数据包来播放 MPEGTS 网络流。

如果我只发送视频数据包,一切正常,相反,如果我尝试将一些视频数据包和一些音频数据包封装在同一个 UDP 数据包中,VLC 将无法解码和播放流。我在某处读到每个 UDP 数据包应包含 7 个 TS 数据包,但不幸的是,即使我遵守此规则,VLC 也无法正确解码流。

这是我的程序的示例代码:http: //pastebin.com/evMi6FkY

我应该如何将 MPEGTS 数据包封装在 UDP 数据包中?

谢谢!

0 投票
0 回答
2467 浏览

objective-c - 使用 AVAsset 播放 .ts 文件?-> 不支持媒体格式

我正在完成我的最后一个大学项目,并为 iOS 5 开发一个应用程序,以演示 HTTP 实时流协议的工作原理。

应用程序获取要播放的不同 HLS 源的列表。它们可以是使用内部 iOS 机制的播放器:将 m3u8 直接传递给 MPMoviePlayerViewController,或者使用我自己正在开发的逐步执行协议的播放器。

这个想法是演示它是如何工作的,下载 .ts 文件并根据此时的下载速度选择正确的流。

第一个选项,简单的选项,效果很好。MPMoviePlayerViewController 完成了这项工作。但是,当我使用自己的播放器时,我下载了 .ts 文件,但是当我尝试在 AVAsset 中使用它时,它说我不支持媒体格式?怎么会发生?如果系统能够使用 .m3u8 文件,则意味着系统能够播放 .ts 文件。

你能帮帮我吗?或给出解决方案?

谢谢。

还有一个类似的问题:可以强制 AVFoundation 播放本地的 .ts 文件吗? 但还没有答案。

PD:请原谅我糟糕的英语。我希望你能理解我。我来自西班牙,我必须提高我的英语水平。

0 投票
1 回答
1372 浏览

android - Windows Media Player 无法播放在 Android 中创建的 MPEG-TS 文件。

我测试了 StageFright 记录示例 (frameworks/base/cmds/stagefright/record) 以创建 mpeg2 TS 文件。虽然它可以在 Android 默认媒体播放器上播放,但不能在 Windows Media Player 或 MPlayer 上播放。有什么建议么?

请注意,我修改了原始记录示例源以创建 MPEG-TS 文件而不是 MP4 文件。

0 投票
0 回答
1567 浏览

c++ - libav 通过 mpegts 将 h264 流式传输到 rtmp 服务器

我正在开发一个应用程序,我想通过 mpegts 将 h264 流式传输到 rtmp 服务器(FMS、C++ RTMP 服务器、Wowza)。我正在查看 libav 的 output-example.c。为了简单起见,我暂时删除了所有音频。

我将此代码用作测试(不起作用): https ://gist.github.com/fb450aee77471a1d86f3#comments

我在那里做错了什么?

谢谢

0 投票
1 回答
6548 浏览

http-live-streaming - Http Live Streaming ts 段不是以关键帧开头

我正在使用苹果的 http 直播将实时视频流式传输到 ipad/iphone。其中一个重要步骤是将传输流与播放列表一起分割成几个 ts 段。根据苹果的文档,推荐的 ts 段持续时间为 10 秒。然而,更长的持续时间总是意味着更多的延迟,所以我试图将这个持续时间减少到 2 甚至 1 秒。

Apple 文档还要求在关键帧边界之间进行分割,这意味着每个 ts 片段都应该以关键帧开头,这样才能独立播放。冲突的部分来了,传输流每隔一两秒就有一个关键帧几乎是不可能的,而且也是浪费的。所以我的问题是,如果 ts 段不以关键帧开头,http 直播仍然可以工作吗?

0 投票
3 回答
51917 浏览

mp4 - mp4 和 mpegts 有什么区别?

最近我的任务是将文件格式转换为 mp4 并流式传输。我使用 ffmpeg 作为转码工具。MP4 文件不会通过 http 协议流式传输 [使用 php cgi 包装器],但随后输出格式更改为 mpegts 流式传输发生并且工作正常。在网络http://wiki.videolan.org/MPEG上快速搜索 相关并建议使用 mpegts 流式传输 mp4 文件。我需要更多地了解这两种格式,它们的优点和区别。

谢谢,彼得

0 投票
1 回答
3070 浏览

windows - 如何在多个程序中接收相同的 udp-stream?

我有一个封闭的第三方系统,它发送我想在同一台计算机上的两个不同程序中访问的单播 UDP 流 (MPEG-TS)。我无法更改源上的任何内容,甚至无法更改 IP 或端口。

除了编写我自己的小程序来捕获流然后创建新流并重新发送两者之外,还有其他选择吗?

似乎两个目标程序中只有一个处理多播,所以我需要两个单播流。