gpt4 book ai didi

linux - 将 movflags 添加到 mp4 文件的顶部,而不使用 ffmpeg 进行实时 RTSP 流

转载 作者:行者123 更新时间:2023-12-04 23:07:09 24 4
gpt4 key购买 nike

更新:
我在浏览器中有一个视频播放器,可以通过 websocket 播放 mp4 视频。该播放器仅支持 mp4 文件。当我检查正常的 mp4 文件无法在播放器中播放时,带有“moovflags faststart”的 mp4 文件只会在该播放器上播放。对于已经存储的文件,这将正常工作。
但是在直播(RTSP)的情况下,只有在 RTSP 连接终止后才能使用 ffmpeg,因为一旦连接正确终止,“moovflags faststart”标志就会起作用。
希望以上陈述更有意义。
由于这种行为,我正在检查是否有任何方法可以首先获得 moovflasg 或其他东西
我有 RTSP 实时源,我需要它来将 RTSP 转换为文件开头有 moov 标志的 mp4 文件。
我已与 openrtsp 核对以获取 rtsp 的 mp4 转储,但它仅在 mp4 的页脚上添加 moov 标志和其他信息(当 openrtsp 关闭 rtsp 流时才打开)。
Ffmpeg 有“-movflags faststart”将页脚信息移动到 mp4 容器的页眉。
由于我有一个 RTSP 直播源,视频数据将背靠背返回,不会有任何终止。上述 ffmpeg 命令仅在 rtsp 流终止后才有效。
有什么方法可以制作一个 mp4 容器,其中包含标题本身中存在的 mp4 页脚信息,以便我可以将它用于实时源?
编辑#1
我有播放 mp4 视频文件的视频播放器,它只支持播放使用“-movflags faststart”创建的录制的 mp4 文件,普通 mp4 文件不会在其中播放。
这是播放器
https://github.com/sonysuqin/WasmVideoPlayer .
由于我正在尝试将实时视频流式传输到播放器,因此无法使用 movflags 快速启动。

最佳答案

mp4 header 在完成之前不能添加到文件中。由于 mp4 文件的结构,这是不可能的。 header 需要知道文件中每一帧的帧类型、时间戳、大小和文件偏移量。在文件完成之前无法知道这一点。您不能在创建 mp4 时对其进行流式传输。您需要使用 HLS 或 DASH 等协议(protocol)来完成此操作。

关于linux - 将 movflags 添加到 mp4 文件的顶部,而不使用 ffmpeg 进行实时 RTSP 流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67068589/

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