我读了Wikipedia上的基本流。我使用“Live555”的工具要求“H.264视频基本流文件”。因此,从视频应用程序导出视频时,是否必须选择特定的首选项才能生成“Elementery Stream”?
答案 0 :(得分:2)
如果您正在使用ffmpeg,则可以使用类似于以下内容的内容:
ffmpeg -f video4linux2 -s 320x240 -i /dev/video0 -vcodec libx264 -f h264 test.264
您必须根据要从中导出视频的文件类型调整命令行。 这生成包含H.264访问单元的文件,其中每个访问单元由一个或多个NAL单元组成,每个NAL单元前缀有起始码(0001或001)。您可以使用十六进制编辑器打开文件来查看它。
您还可以使用原始YUV输入文件中的H.264 reference encoder创建H.264基本流文件(.264)。
如果将生成的.264文件复制到live555 testOnDemandRTSPServer目录中,则可以通过RTSP / RTP测试流式传输文件。
您能否提供一些参考资料,以了解有关NAL / H.264基本流的更多信息。如何快速检查流是否是基本流?
通常容器中的任何东西(avi或mp4)都不是基本流。用于基本流的典型扩展是" .264"。仔细检查文件是基本流的最快方法是在十六进制编辑器中打开文件,并在文件开头查找起始代码(00000001)。请注意,文件中应该有3个(000001)和4个(00000001)字节开始代码(在每个NAL单元之前)
为什么live555不能播放不是基本的h264流?
这纯粹是因为live555没有实现所需的demux(例如avi或mp4)。 AFAIK live555确实支持从matroska容器中解复用H.264。