gpt4 book ai didi

python - 用 3 个视频分离 MPEGTS 多队列、填充流

转载 作者:行者123 更新时间:2023-12-04 23:17:59 25 4
gpt4 key购买 nike

我有一个 Python 程序的输出,它作为一个包含 3 个视频流的单个 .AVI 出现,但是,它们似乎都是组合的。视频没有连接,但它们是交错的。生成它的代码非常抽象,我唯一能说的是他们使用 Gstreamer 来组合视频。我可以选择 H.264 编码和 mpegts 并输出为 .AVI。在文件上使用 ffprobe 我得到以下输出:

Input #0, mpegts, from 'output.avi':
Duration: 00:05:00.07, start: 12045.450000, bitrate: 33695 kb/s
Program 1
Stream #0:0[0xdd]: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p(progressive), >1920x1080 [SAR 1:1 DAR 16:9], 15 fps, 15 tbr, 90k tbn, 30 tbc
我需要分离这个 .AVI 文件中包含的视频,但我在使用 ffmpeg 时遇到了麻烦,因为每个视频都没有单独的流。
有没有人有关于如何使用 ffmpeg 或 gstreamer 做到这一点的任何提示?
更新:经过进一步的实验,帧似乎不是交错的,而是数据流以某种方式以某种方式组合。
更新:视频输出是一个 mpegts 多队列填充流。虽然是一个文件,但文件中嵌入的每个视频流都有自己的端口。我可以在wireshark中打开它并查看数据流。我想这会将我的问题更改为:您可以按端口过滤包含多个流的单个文件吗?

最佳答案

试试这个来分离交错的帧:

ffmpeg -i INPUT -filter_complex select=n=3:e='mod(n\,3)+1'[v1][v2][v3] \
-map [v1] OUTPUT1 -map [v2] OUTPUT2 -map [v3] OUTPUT3
如果您需要指定输出选项,请确保为每个输出文件复制。

关于python - 用 3 个视频分离 MPEGTS 多队列、填充流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72577983/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com