gpt4 book ai didi

ffmpeg - 就 H264 而言,Elementary Stream 意味着什么

转载 作者:行者123 更新时间:2023-12-04 22:45:20 25 4
gpt4 key购买 nike

我在 Wikipedia 上阅读了 Elementary Stream 的内容.我正在使用“Live555”的工具需要“H.264 视频基本流文件”。因此,当从视频应用程序导出视频时,我是否必须选择特定的首选项来生成“Elementery Stream”?

最佳答案

如果您使用的是 ffmpeg,则可以使用类似于以下内容的内容:

ffmpeg -f video4linux2 -s 320x240 -i /dev/video0 -vcodec libx264 -f h264 test.264   

您必须根据要从中导出视频的文件类型调整命令行。这会生成一个包含 H.264 访问单元的文件,其中每个访问单元由一个或多个 NAL 单元组成,每个 NAL 单元都以起始代码(0001 或 001)为前缀。您可以使用十六进制编辑器打开该文件进行查看。

您还可以使用 H.264 reference encoder 创建 H.264 基本流文件 (.264)来自原始 YUV 输入文件。

如果将生成的 .264 文件复制到 live555 testOnDemandRTSPServer 目录中,则可以测试通过 RTSP/RTP 流式传输该文件。

Can you give some references to read more about NAL / H.264 elementary Stream. How can I quickly check if the stream is an elementary stream?

通常,容器中的任何内容(avi 或 mp4)都不是基本流。用于基本流的典型扩展名是“.264”。双重检查文件是否为基本流的最快方法是在十六进制编辑器中打开文件并在文件开头查找起始代码 (00000001)。请注意,整个文件中应该有 3 (000001) 和 4 (00000001) 字节起始码(在每个 NAL 单元之前)

Why does live555 not play h264 streams which are not elementary?

这纯粹是因为 live555 没有实现所需的解复用器(例如 avi 或 mp4)。 AFAIK live555 确实支持从 matroska 容器中解复用 H.264。

关于ffmpeg - 就 H264 而言,Elementary Stream 意味着什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27090114/

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