如何在 h264 中流式传输视频?
how to stream a video in h264?
我正在尝试将我的视频流式传输到 h264
,这样我就可以通过 video
标签在 html5
页面上播放它。我找到了很多展示如何将视频文件流式传输到 rtmp
流的示例。但我几乎找不到 h264
.
的例子
这是我能找到的唯一示例:
ffmpeg -f dshow -i video="Virtual-Camera" -preset ultrafast -vcodec libx264 -tune zerolatency -b 900k -f mpegts udp://10.1.0.102:1234
这似乎符合我的需要。但是我不知道udp://10.1.0.102:1234
是什么服务器
如果它以 rtmp://10.1.0.102
开头,那么我知道它是一个 rtmp
服务器,我必须设置一个 nginx
和一个 rtmp
模块。但什么是 udp
服务器?我需要做什么才能设置一个?
非常感谢。
UDP:// 本身不是流格式,但告诉您它通过 UDP(而不是 TCP)提供流。格式其实是MPEG-TS(从-f mpegts
可以看出)
如果您想在普通浏览器中播放,您需要以不同的格式提供。对于实时视频,并没有真正可以与标签一起使用的普遍支持的格式。 Microsoft Edge 和 Apple Safari 都原生支持 HLS,但 Chrome 和 Firefox 都缺乏对直播格式的原生支持。
借助 HLS,您可以使用 hls.js 并在几乎所有浏览器中播放。 ffmpeg 可以原生 output HLS,你只需要一个网络服务器。
此 ffmpeg 命令行允许通过 UDP 通过 MPEG2-TS 进行流式传输。
所以它充当实时编码器,这对于实时编码器来说是个不错的选择。
所以你有一个现场编码器,但要流式传输到网页,你还需要一个流媒体服务器软件,它将摄取(接收)这个直播流,并将其转换为可播放的格式 HTML5 视频标签。格式很可能是 WebRTC。
您可以使用 Wowza 或 Unreal Media Server - 它们会提取您的 MPEG2-TS 流并作为 WebRTC 流输出到网页。
我正在尝试将我的视频流式传输到 h264
,这样我就可以通过 video
标签在 html5
页面上播放它。我找到了很多展示如何将视频文件流式传输到 rtmp
流的示例。但我几乎找不到 h264
.
这是我能找到的唯一示例:
ffmpeg -f dshow -i video="Virtual-Camera" -preset ultrafast -vcodec libx264 -tune zerolatency -b 900k -f mpegts udp://10.1.0.102:1234
这似乎符合我的需要。但是我不知道udp://10.1.0.102:1234
是什么服务器
如果它以 rtmp://10.1.0.102
开头,那么我知道它是一个 rtmp
服务器,我必须设置一个 nginx
和一个 rtmp
模块。但什么是 udp
服务器?我需要做什么才能设置一个?
非常感谢。
UDP:// 本身不是流格式,但告诉您它通过 UDP(而不是 TCP)提供流。格式其实是MPEG-TS(从-f mpegts
可以看出)
如果您想在普通浏览器中播放,您需要以不同的格式提供。对于实时视频,并没有真正可以与标签一起使用的普遍支持的格式。 Microsoft Edge 和 Apple Safari 都原生支持 HLS,但 Chrome 和 Firefox 都缺乏对直播格式的原生支持。
借助 HLS,您可以使用 hls.js 并在几乎所有浏览器中播放。 ffmpeg 可以原生 output HLS,你只需要一个网络服务器。
此 ffmpeg 命令行允许通过 UDP 通过 MPEG2-TS 进行流式传输。 所以它充当实时编码器,这对于实时编码器来说是个不错的选择。
所以你有一个现场编码器,但要流式传输到网页,你还需要一个流媒体服务器软件,它将摄取(接收)这个直播流,并将其转换为可播放的格式 HTML5 视频标签。格式很可能是 WebRTC。
您可以使用 Wowza 或 Unreal Media Server - 它们会提取您的 MPEG2-TS 流并作为 WebRTC 流输出到网页。