2015-04-29 63 views
0

带HLS或DASH的IIUC,我可以创建一个清单并直接从我的httpd服务段,例如python -m http.server创建HLS流的一个线程

我在/ dev/video1上有一个UVC视频源,我正在争取在gstreamer或ffmpeg中创建一个简单的m3u8。

我得到尽可能:

gst-launch-1.0 -e v4l2src device=/dev/video1 ! videoconvert ! x264enc ! mpegtsmux ! hlssink max-files=5 

任何想法?

回答

1
  1. 视频

要列出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 
    

    可以找到的各种HLS参数在FFmpeg documentation

    延伸阅读:

    FFmpeg H.264 Encoding Guide

    FFmpeg Webcam Capture

    +0

    谢谢,虽然这不适用于我:https://ffmpeg.org/pipermail/ffmpeg-user/2015-April/026263.html – hendry

    +0

    您是否设置了编码参数?请用确切的命令更新您的问题。播放列表大小以及它创建的分段数/它保存多长时间是不同的事情。使用'hls_flags delete_segments'来删除旧的段。 – aergistal

    +0

    我的cmdline在这里是日志:http://ix.io/icO从我之前评论的ffmpeg文章链接。 :} – hendry

    0

    我发现选项tune=zerolatency是我所需要的从拖延。还需要弄清楚如何引入音频。

    gst-launch-1.0 -e v4l2src device=/dev/video1 ! videoconvert ! x264enc tune=zerolatency ! mpegtsmux ! hlssink max-files=5 
    

    不幸的是我的Thinkpad X220在> 96C过热。

    会很高兴获得ffmpeg版本。

    +0

    我添加ffmpeg的版本,但你应该更新原来的问题,包括了上述信息。 – aergistal