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

ffmpeg - 使用ffmpeg,试图将容器从Mpeg TS更改为MP4,fps变成了Mpeg TS的两倍

我从采集板上得到了一个 Mpeg TS 文件来制作一个演示视频剪辑。

这是来自ffmpeg的文件信息;

但是,我无法在 FCP X 中对其进行编辑,因此我尝试使用以下命令使用 ffmpeg 将其容器 TS 更改为 MP4。

完成后,output.mp4 的 fps 变为 59.94 fps,信息如下;

fps不一样。

有没有办法通过复制选项来更改容器来保持与 TS 相同的 fps?

我想知道是否只是重新编码是解决方案。

/////

完整的日志;

0 投票
1 回答
3197 浏览

android - 使用 GStreamer 在 Android 上的 Mpeg TS 播放器

我应该在我的 win 7 平台上使用 GStreamer 和 ffmpeg 的库在 android 中设计一个 MPEG-TS 解复用器和播放器。我在我的 win 7 系统中使用 eclipse juno 版本。现在,我成功地在 eclipse 中配置了 ffmpeg。我从 docs.gstreamer.com 下载了 GStreamer sdk,并在 eclipse 中成功配置了 gstreamer。事实证明,GStreamer 的第 5 个教程只是一个媒体播放器应用程序。但是当我执行那个项目时,我看不到视频。只能听到音频声音。因此,我的下一步应该是在我的 Eclipse 中配置 gst-ffmpeg 插件并编写一个接受传输流 (.ts) 文件的媒体播放器。但是在互联网上浏览了很多之后,我无法获得进一步移动的单一解决方案。我使用的是windows平台,所以问题增加了一点。我知道有接受 .ts 格式文件的 Vplayer。但我无法访问 Vplayer 的源代码。任何人都可以请进一步指导我吗?需要帮助。

0 投票
2 回答
3184 浏览

android - 使用 MediaRecorder 录制 MPEG TS

我正在尝试录制mpeg2-ts视频,以便server / socket使用此处Android MediaRecorder描述的类将其流式传输到...

代码如下:

mediaRecorder.prepare()调用and没有任何错误并显示mediaRecorder.start()相机预览...但是过了一会儿预览被切断然后屏幕冻结并在输出路径创建一个空文件...这个问题也正在报告Android 问题列表,但尚未纠正...

我曾尝试在具有 Stock Android ICS ROM 的 Galaxy Note N7000 以及三星 Galaxy Tab 2 P3100 但具有自定义 Android 4.2 ROM 上运行相同的应用程序......所以它似乎与 ROM 或特定的硬件配置...

如果有什么遗漏或做错了,知道这一点会很高兴,当然也会松一口气……?

谢谢...

0 投票
1 回答
1118 浏览

android - 播放 MPEG-TS 文件时 Android 音频延迟

我最近在 Android 应用程序中播放视频时遇到了很多困难。有问题的视频是一个 M3U8 文件,该文件又链接到一系列二级 M3U8,每个二级 M3U8 都有一个分量 MPEG-TS 视频文件的列表,以及一个包含 AAC 格式音频分量的单个 M3U8 文件。我在让 M3U8 合作时遇到了一些麻烦,但现在似乎工作正常。

不幸的是,音频比视频晚了大约一秒钟。这种滞后既存在于我自己的包含 MediaPlayer 的 Activity 中,也存在于启动指向流的 Android 的默认视频播放器中。播放中还经常出现视觉卡顿或损坏。使用 VLC Beta 或在此应用的 iPhone 版本中播放时均不存在任何问题,因此视频文件本身没有问题。我尝试了 Vitamio 库,结果更糟(更频繁的损坏,根本没有音频)。遗憾的是,更改视频格式不是一种选择。

在我看来,这个问题可能是由 Android 对 MPEG-TS 的有限支持引起的 - 支持的媒体格式列表指定它使用 AAC 音频(而我假设 iOS 版本只是从 .ts 播放视频和音频文件)。解决此滞后的任何建议/解决方案?

0 投票
1 回答
709 浏览

android - FFMPEG & JNI:如何从 URL 解码

我正在尝试制作一个使用 FFMPEG 解码 Android 不支持的视频的 Android 应用程序(至少不是在所有设备上):MPEG-TS & h264 Main Profile。因此,到目前为止,我能够使用来自 JNI 的 FFMPEG 来解码具有上述规格的一些本地视频,但我的目标是让 FFMPEG 解码来自流式 URL ( http://127.0.0.1:1666/) 的数据,我将从 android 服务 (出于某些原因)

所以,基本上,我有两个问题:

  • 由于找不到任何好的示例,我将如何从流式 URL 进行解码?

  • 在解码我的本地 MPEG-TS 视频时,我注意到播放速度很慢,并且视频会冻结一段时间,即使是海豚播放器(基于 FFMPEG)也有相同的行为,我没有不知道是否有解决方案。有什么建议吗?

我感谢您的帮助。

0 投票
8 回答
15486 浏览

media-player - 支持 MPEG-DASH 的媒体播放器

我希望在不同的 DASH 支持的客户端上播放和测试 DASH MPD 文件。我已经使用 VLC dash 插件进行了测试。是否还有其他支持和播放 DASH MPD 文件的播放器/插件?

0 投票
2 回答
838 浏览

directshow - 为什么在 H.264 MPEG-TS 流上使用 Microsoft MPEG-TS Demultiplexer 和 H.264 解码器时会出现这些伪影?

我编写了一个实时推送过滤器,它获取包含 h.264 视频和 aac 音频的 mpeg-ts 流。我设置了一个 directshow 管道并配置了输出引脚。我可以渲染 h.264 流,但我在渲染中得到了伪像,从这个屏幕截图中可以看出,当使用 videotestsrc 和“ball”模式从 gstreamer 流式传输时。这此屏幕截图应仅包含黑色背景上的一个白点。另外两个是动画播放时出现的“剩菜”。

如果我流式传输 MPEG-2 并相应地更改管道,则该模式将无错误地呈现。我尝试使用msdn 上描述的设置来配置 pin,两者都使用 H264 和 AVC1 显式提供序列头等。我仍然得到同样的文物。

一件有趣的事情是,伪影大多以与 I-Frame 到达相同的频率出现,如果我们只发送 I-Frame (key-int-max=1),伪影就会完全消失。

此外,当 I 帧间隔为 60 时,即每 2 秒,错误似乎出现在图像的上半部分。当我们每隔一帧更改为一个 I-Frame (key-int-max=2) 时,伪影仅出现在图像顶部的窄条中。

以下 gstreamer 管道生成了视频流:

这是管道的样子: 管道

本例中的配置是majortype = MEDIATYPE_Video,subtype = MEDIASUBTYPE_H264,formattype = FORMAT_MPEG2Video。没有专门提供序列头等。

所以问题是,这些类型的工件是一些常见配置问题的症状吗?

0 投票
1 回答
1139 浏览

internet-explorer - Mp2t 视频网络浏览器

我无法让 xbox-360 Internet Explorer 从浏览器页面中的 html5 视频标签播放 mpeg-2 ts (h264/AAC) 文件。我是否需要安装插件或其他东西才能让 IE 播放它?

我可以从带有 html 5 视频标签的 IE 网页上播放一个 h264 mp4 视频。只是不是 mpeg 2 ts 文件。所以它是特定于格式的。

0 投票
1 回答
4648 浏览

ffmpeg - 使用 FFMPEG 单独转码 HLS 段

我正在将连续的实时流录制到高比特率 HLS 流中。然后我想将其异步转码为不同的格式/比特率。我主要有这个工作,除了音频伪影出现在每个片段之间(间隙和爆裂声)。

这是一个示例 ffmpeg 命令行:

检查示例声音文件显示音频末尾有一个间隙:

结尾

并且文件的开头看起来很可疑(尽管这可能不是问题):

开始

我怀疑这些人工制品正在发生,因为转码是在没有整个流的上下文的情况下发生的。

关于如何说服 FFMPEG 产生适合 HLS 流的音频的任何想法?

** 更新 1 **

这是原始片段的开始/结束。如您所见,开始看起来仍然相同,但结束在 30 秒处干净利落地结束。我希望有损编码有一定程度的填充,但我有一些 HLS 设法进行无间隙播放的方法(这与带有自定义元数据的 iTunes 方法有关吗?)

原始开始 原始结束

** 更新 2 **

因此,我将原始文件(MPEG2 TS 中的 128k aac)和转码文件(aac/adts 容器中的 64k aac)都转换为 WAV 并将两者并排放置。这是结果:

并排开始 并排结束

我不确定这是否代表客户端将如何播放它,但解码转码后会在开始时引入间隙并使片段更长似乎有点奇怪。鉴于它们都是有损编码,我希望填充在两者中同样存在(如果有的话)。

** 更新 3 **

根据http://en.wikipedia.org/wiki/Gapless_playback - 只有少数编码器支持无缝 - 对于 MP3,我已经切换到 ffmpeg 中的 lame,到目前为止,问题似乎已经消失。

对于 AAC(参见http://en.wikipedia.org/wiki/FAAC),我尝试过 libfaac(与 libfdk_aac 相对),它似乎也能产生无缝音频。但是,后者的质量不是很好,我宁愿使用 libfdk_aac 是可能的。

0 投票
0 回答
298 浏览

android - 是什么导致此消息“在根状态下未处理”。在安卓(4.1.2)中?

我正在使用一个 Android 应用程序(在 Android 4.1.2 上),它在输入中获取一个 ts 流,但我只有音频,没有视频。

我认为这是由于此消息:

我想了解什么会导致此消息在根状态下未处理