jAc*_*OdE 7 ffmpeg video-streaming
我有一个视频文件,我需要将其编码为H264/AVC并通过HTTP提供给客户端.我需要的是我在客户端的播放器可以在编码时播放视频.
AFAIK,为了让播放器能够在视频下载时播放,必须将"moov atom"放置在视频文件的begnning中.但是,编码器(例如:ffmpeg)在完成编码后总是在文件末尾写入"moov atom".
有没有什么方法编码器可以在编码的输出开头放"moov atom"?或者在没有moov原子的情况下播放视频?
谢谢你的进步
LR
wom*_*t57 13
是的,这是可能的,但仅限于某些容器格式.使用QuickTime/MP4容器是不可能的.在这些格式中,moov原子包含样本偏移量(mdat原子中样本的位置).直到视频编码完成后才知道这些.使用VOD(视频点播),您可以获取完成的文件,并将moov原子移动到前面,以使流媒体工作更好.但如果您正在进行编码,则无法执行此操作.为了实现这一目标,您需要使用面向流的传输格式.像FLV或MPEG-TS这样的东西可行.如果您将视频传递到ffmpeg并告诉它在FLV容器中生成H.264视频,那么您可以在编码时将该数据提供给播放器,并且它将起作用.当然,如果您想通过HTTP提供服务,您可能必须编写自己的服务器(或现有服务器的模块).我所知道的任何内容都不支持在写入文件时提供服务(问题是在发送内容长度标头时不知道文件大小).但是,如果您通过RTMP或RTSP提供视频,则可以使用现有软件.
| 归档时间: |
|
| 查看次数: |
7224 次 |
| 最近记录: |