- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我通过网络 (UDP) 收到 MPEG TS 容器。它包含两个流:一个具有 yuv420p 像素格式的 mpeg2video 视频流和一个使用适当的 KLV 格式编码的数据流。
我的接收器程序必须使用 Python。因此,我无法直接使用 FFMPEG 库(如 AVFormat
、 AVCodec
)。
现在我的问题如下:
我需要接收视频帧并将它们保存为原始 RGB 图像 numpy
大批。我还需要为每一帧解析相应的KLV数据。视频帧和KLV数据单元之间存在一对一的关系。
我以为我使用ffprobe
从传入容器输出包括其有效负载数据的数据包,然后解析 ffprobe
的输出获取图像和元数据:
$ ffprobe -show_packets -show_data -print_format json udp://127.0.0.1:12345 > test_video.packets.data.json
这给了我一个输出(在 test_video.packets.data.json
文件中),例如:
{
"codec_type": "video",
"stream_index": 0,
"pts": 140400,
"pts_time": "1.560000",
"dts": 136800,
"dts_time": "1.520000",
"duration": 3600,
"duration_time": "0.040000",
"size": "21301",
"pos": "3788012",
"flags": "K_",
"side_data_list": [
{
"side_data_type": "MPEGTS Stream ID"
}
],
"data": "... "
},
{
"codec_type": "data",
"stream_index": 1,
"pts": 140400,
"pts_time": "1.560000",
"dts": 140400,
"dts_time": "1.560000",
"size": "850",
"pos": "3817904",
"flags": "K_",
"side_data_list": [
{
"side_data_type": "MPEGTS Stream ID"
}
],
"data": ".... "
}
我可以从数据包中提取KLV数据并解析它。然而,视频数据包中的数据以 yuv420p 像素格式编码为 mpeg2video 视频。
我的问题:
ffmpeg -i udp://127.0.0.1:12345 -map 0:0 -codec rawvideo -pix_fmt rgb24 -map 0:1 -codec copy -f mpegts udp://127.0.0.1:11112
,但它再次为我提供了视频数据包有效负载中的 mpeg2 编码视频数据最佳答案
MPEG-TS 支持有限数量的视频编解码器。然而,ffmpeg 的复用器甚至会默默地将不支持的流复用为私有(private)数据流。
要混合原始 RGB 流,请转换为 rgb24
像素格式并使用 rawvideo 编解码器进行编码。
ffmpeg -i udp://127.0.0.1:12345 -map 0:0 -map 0:1 -c copy -c:v rawvideo -pix_fmt rgb24 -f mpegts udp://127.0.0.1: 11112
关于ffmpeg - 我可以在 MPEG TS 容器中拥有原始视频流吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64993871/
我正在创建一个播放静态 mpeg-DASH 文件的应用程序。我一直在使用 MP4Box 创建 DASH .mp4 和 .mpd 文件。 MPD 文件包含单个 .mp4 文件中的字节范围偏移列表。这工作
我检查了一些 MPEG-4 视频 header ,并在开头看到了一些字节数组,如下所示: 00 00 01 B0 01 00 00 01 B5 89 13 我知道 00 00 01 部分,但 B0 B
我正在尝试实现用于播放受 widevine 保护的视频的 Android 应用程序。我在 Exoplayer 上构建我的应用程序,但我遇到了 MediaDrm 问题。 android.media.Me
我正在寻找区分使用 MPEG-1 和 MPEG-2 容器的文件的具体方法,因为我发现的大多数资源都表明这两个容器的起始代码都是 00 00 01 BA。 我尝试使用 VLC 的 GUI 将 MP4 容
我已经编写了 MPEG-TS 解复用器。它将传输流解包为 PES 数据包。现在我想丢弃所有帧,直到遇到关键帧。 我该怎么做?我应该在每个 PES 帧中找到序列 block 吗? 最佳答案 您应该能够在
我正在尝试能够从 MPEG、MPEG-TS 和 MPEG-PS 文件以及实时流(网络/UDP/RTP 流)中挑选出帧(视频和元数据)。我正在研究使用 JCODEC 来执行此操作,我开始尝试使用 Fra
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许在 Stack Overflow 上提出有关通用计算硬件和软件的问题。您可以编辑问题,使其成为
在带有 ARM 和/DSP 的 Android 平台上,哪个解码器会更快:MPEG-4 或 MPEG-2 还是 3GP?为什么? 谢谢 最佳答案 “更快”是一个相对术语。鉴于您问题中的信息,无法回答。
通过 UDP 流式传输,我有一个 MPEG Transport Stream包含: MPEG-2 视频和 MPEG-1 音频,或 H.264 视频和 MPEG-1 音频,或 H.264 视频和 AC3
我对编解码器了解较少。我所知道的编解码器代表解码/编码。在编解码器中将内置在手机中,外部库可以用作替代方案。编解码器对音频\视频起着重要作用,其中格式已编码为文件并解码以播放它们。 问题: Andro
我不知道我需要在哪个标签上问这个问题。 我目前正在研究数字电视广播的 ATSC 标准。我在浏览内容时有疑问。在数字电视广播中,一个带宽将包含多个 channel (服务)。 由广播公司编码和复用的数据
MPEG中节目时钟引用(PCR)的最大值是多少? 据我了解,它源自 27MHz 时钟,定期加载到 42 位寄存器中。 PCR(i)=PCR_Base(i) * 300 + PCR_Ext(i) 其中
我有一些与将 mpeg PES 流(打包)多路复用到 mpeg TS 相关的问题。 为什么 DTS 和 PTS 值包含在 PES 头中,而 PCR 值包含在传输流头中? 如果我们想以某种方式播放 PE
关闭。这个问题需要更多 focused .它目前不接受答案。 想改进这个问题?更新问题,使其仅关注一个问题 editing this post . 1年前关闭。 Improve this questi
。我试图了解 mpd 文件如何播放,我指的是以下数据集: http://www-itec.uni-klu.ac.at/ftp/datasets/mmsys12/Valkaama/MPDs/Valkaa
我正在尝试将几个 .wav 文件转换为 .mp3 格式 所需的 .mp3 格式是: 我尝试使用 FFmpeg 使用以下代码: ffmpeg -i input.wav -vn -ac 2 -b:a 16
我有一个支持 CENC 的 MPD 剪辑,如何在不使用任何特定 DRM 引擎的情况下解密和播放?是否有任何解密算法可用于解密 AES CTR 128 位?如果有,它将用于解密 MPEG-DASH 内容
以下是MPEG2VideoDescriptor的十六进制转储: 06 0e 2b 34 02 53 01 01 0d 01 01 01 01 01 51 00 83 00 00 f3 3c 0a 00
我需要检测文件是否为 MPEG ADTS 文件。我已经四处搜索了它,但无论是我寻找得很糟糕还是其他东西,但我找不到我可以肯定地说某些文件具有 MPEG ADTS 格式的签名。 例如如果文件以这样的签名
我正在开发用于网络吞吐量测试的点对点视频流。两个对等点之间的网络支持低比特率传输。 我使用 OpenCV 为视频流制作了简单的 python 程序。 该程序从网络摄像头抓取视频帧并将其编码为 JPEG
我是一名优秀的程序员,十分优秀!