一种创建 HLS 流的方式
One liner to create HLS stream
带有 HLS 或 DASH 的 IIUC,我可以创建一个清单并直接从我的 httpd 提供这些段,例如python -m http.server
.
我在 /dev/video1 上收到了一个 UVC 视频源,我正在努力在 gstreamer 或 ffmpeg 中创建一个简单的 m3u8。
我得到了:
gst-launch-1.0 -e v4l2src device=/dev/video1 ! videoconvert ! x264enc ! mpegtsmux ! hlssink max-files=5
有什么想法吗?
我发现选项 tune=zerolatency
是我需要的选项。还需要弄清楚如何引入音频。
gst-launch-1.0 -e v4l2src device=/dev/video1 ! videoconvert ! x264enc tune=zerolatency ! mpegtsmux ! hlssink max-files=5
很遗憾,我的 Thinkpad X220 在 > 96C 时过热。
最好能得到 ffmpeg 版本。
- 视频
要列出 video1
设备功能:
ffmpeg -f v4l2 -list_formats all -i /dev/video1
- 音频(ALSA 示例)
要列出 ALSA 设备:
arecord -L
- HLS
使用两个输入:
ffmpeg -f alsa -i <alsa_device> -f v4l2 -i /dev/video1 [...] /path/to/docroot/playlist.m3u8
您可以在 FFmpeg documentation.
中找到各种 HLS 参数
进一步阅读:
带有 HLS 或 DASH 的 IIUC,我可以创建一个清单并直接从我的 httpd 提供这些段,例如python -m http.server
.
我在 /dev/video1 上收到了一个 UVC 视频源,我正在努力在 gstreamer 或 ffmpeg 中创建一个简单的 m3u8。
我得到了:
gst-launch-1.0 -e v4l2src device=/dev/video1 ! videoconvert ! x264enc ! mpegtsmux ! hlssink max-files=5
有什么想法吗?
我发现选项 tune=zerolatency
是我需要的选项。还需要弄清楚如何引入音频。
gst-launch-1.0 -e v4l2src device=/dev/video1 ! videoconvert ! x264enc tune=zerolatency ! mpegtsmux ! hlssink max-files=5
很遗憾,我的 Thinkpad X220 在 > 96C 时过热。
最好能得到 ffmpeg 版本。
- 视频
要列出 video1
设备功能:
ffmpeg -f v4l2 -list_formats all -i /dev/video1
- 音频(ALSA 示例)
要列出 ALSA 设备:
arecord -L
- HLS
使用两个输入:
ffmpeg -f alsa -i <alsa_device> -f v4l2 -i /dev/video1 [...] /path/to/docroot/playlist.m3u8
您可以在 FFmpeg documentation.
中找到各种 HLS 参数进一步阅读: