บางทีตัวอย่างการทำงานนี้อาจช่วยคุณได้อีกเล็กน้อย
มันสตรีมสตรีมสด (เว็บแคม) ผ่าน vlc ไปยังหน้าเว็บเป็น hls เว็บแคมสามารถทำได้โดยอุปกรณ์สตรีมมิ่งอื่น ๆ หรือการ์ดจับภาพ หน้าเว็บใช้คุณสมบัติการสตรีมเฉพาะของ HTML5
cvlc v4l2:// :v4l2-vdev="/dev/video0" --sout '#transcode{vcodec=h264,vb=512,scale=1,acodec=none,venc=x264{aud,profile=high,level=60,keyint=15,bframes=0,ref=1,nocabac}}:duplicate{dst=std{access=livehttp{seglen=10,delsegs=true,numsegs=5,index=/var/www/live/mystream.m3u8,index-url=http://"Here your webserverIP"/live/mystream-########.ts},mux=ts{use-key-frames},dst=/var/www/live/mystream-########.ts},dst=std{access=http,mux=ts,dst=:8082/video.mp4}}' &
บรรทัดคำสั่งจะสร้างเอาต์พุตสองสตรีมหนึ่ง HLS หนึ่งสตรีมสำหรับการสตรีมผ่านหน้าเว็บและสตรีม MP4 ที่สามารถเข้าถึงได้โดยตรงโดยเครื่องเล่น VLC ในเครือข่ายเดียวกัน
เพียงแค่ตั้งค่าไดเรกทอรีที่เหมาะสมและใส่ที่อยู่ IP ของเว็บเซิร์ฟเวอร์จริง
สำหรับเว็บเซิร์ฟเวอร์ฉันใช้การตั้งค่ามาตรฐานของ lighttpd และสร้างไฟล์ index.html ด้วยคำจำกัดความสตรีม HTML 5 ต่อไปนี้:
<!DOCTYPE html>
<html>
<head>
<title>Live Cam</title>
</head>
<body>
<div id="player">
<video autoplay="true" controls="controls" width="640" height="480">
<source src="http://"Here your webserverIP"/live/mystream.m3u8" type="application/x-mpegURL" />
Your browser does not support HTML5 streaming!
</video>
</div>
</body>
</html
เชื่อมต่อเว็บแคมของคุณสร้างไฟล์ index.html รีสตาร์ทเว็บเซิร์ฟเวอร์ของคุณแล้วดำเนินการ commandline (ในฐานะผู้ใช้ปกติ) ทุกอย่างทำงานได้คุณสามารถเข้าถึงแหล่งการสตรีมของคุณบนอุปกรณ์ I ทั้งหมดได้
ฉันพยายามทำเช่นเดียวกันกับ ffmpeg (เซกเมนต์และ hls) ที่มีและไม่มี ffserver และถึงแม้จะมี avconv และ avserver แต่ก็ยังไม่ประสบความสำเร็จ