捕获JPEG格式的图像: H.264格式的视频:
raspistill -o image.jpg
我不想安装任何其他应用程序,因为我想利用现成的HTML5。由于Chrome / Safari具有用于H.264的内置解码器,所以我只想将浏览器指向URL并观看流。
我该如何实现呢?
#1 楼
使用HLS进行流传输Apple专有的流实时视频流方法。它被称为HTTP Live Streaming(HLS),仅受Apple技术支持。 Google(Chromium / YouTube)使用自己的dash mpeg实施,其他人都感到困惑或使用MP4中封装的H.264。将LAN上的高清1080p流传输到任何支持
.m3u8
播放列表的设备使用HTML5语义(但它不是标准格式)
可以使用第三方高级软件(如jwplayer 6)的某些支持
CONS
具有至少5秒钟的延迟(在此应用程序中,但是使用从iPhone到AppleTv的镜像,它们可以达到50毫秒-500毫秒)。因此,对于需要即时反应的远程控制应用程序(例如,机器人或直升飞机)不利。
如果要扩展可能会闪烁的浏览器支持,则必须付费购买第三方软件。 m3u8
.m3u8
只是M3U格式的UTF-8版本。 (.m3u文件可以具有多种编码。)有人声称,将.m3u8重命名为.m3u可以在所有HTML5浏览器上正常工作。我尝试过此方法,但对我不起作用。这种流式传输背后的概念是文件的短片段,至少5秒长(在此示例中-可能有新的方法可以加快速度)记录下来并保存到正确的文件中。播放列表文件将使用新文件名进行更新,并且客户端始终会轮询该播放列表并下载最新文件。有一些机制可以在客户端上无缝合并视频。这就是为什么其他开发人员不希望实现此功能的原因,因为它需要大量的精力并且不符合HTML5标准(即使实时流没有适当的HTML5标准也要这么做? />安装
您需要编译
ffmpeg
-FFmpeg不要使用apt-get install
这最多可能需要5个小时-必须是1.1版或更高版本,才能支持分段流。您可以使用它来克隆并编译它。设计并且是目前可用的最轻,最快的支持PHP的Web服务器。 (是的,它比笨重的Apache更好)。
创建一个目录,例如,驻留在www文件夹
/usr/share/nginx/www/
中创建一个名为
video.sh
的Bash脚本文件,在其中应用chmod +x
并将其粘贴。将基本文件夹更改为HTTP服务器所在的位置。我使用了nginx
,/usr/share/nginx/www/
cd /usr/src
git clone git://source.ffmpeg.org/ffmpeg.git
cd ffmpeg
./configure
make && make install
创建将加载播放列表的HTML文件
br />
iPhone,打开页面,但进入QuickTime。质量真的很棒!
Windows Safari浏览器,运行流畅。
Macintosh或Windows,QuickTime。可以正常运行。
Android 2.3.5不能正常工作,但是应该可以从2.1.x版本开始支持它。
Windows,Chrome-没什么
Windows,Internet Explorer 10 ---没什么(不支持的视频类型)
Windows,VLC媒体播放器-没什么
参考:http://www.raspberrypi.org/phpBB3/viewtopic.php?p=351392&sid=5b9a46f5eea2c7a0887d2efdfa7edade#p351392
原始代码:https://github.com/AndyA/psips/blob/master/examples/hls.sh
评论
关于加快ffmpeg的编译速度为了避免RPI的低计算能力和ffmpeg的较长编译时间,我曾尝试将Qemu与Wheeze配合使用,但是在登录时遇到了一些障碍,因此不得不尝试使用Arch映像。这工作了。还通过VirtualBo在Ubuntu映像上尝试了Sqeeze
–luboP
2013年6月10日20:02
有没有一种方法可以自动删除旧细分?一段时间后,SD卡已满。我也希望删除它们,以便可以在tmpfs上运行它而不破坏SD卡。
–点心
13年10月28日在16:10
@Dimmme如果将-segment_wrap 10添加为ffmpeg的参数,它将最多使用10个段文件。
– Gregers
2014年5月9日17:36
有没有人得到这个工作?文件已创建,但似乎丢失了SPS / PPS信息,因此视频无法在iOS Safari或VLC中播放。指向段文件时,stream.m3u8也没有包含segment /,因此我删除了segments文件夹。我误会了吗?
– Gregers
2014年5月9日17:56
您需要通过PSIPS过滤器二进制文件通过流传输流。 raspicam的最新版本应该可以执行此操作。但是由于某些原因,如果没有PSIPS,我将无法使它正常工作
– Piotr Kula
2014年5月9日18:14
#2 楼
UV4L MMAL感谢@mpromonet对Linux-Projects V4L2驱动程序的更新进行评论,该驱动程序现在非常高效地实现了MMAL-但它仍在进行中。
请按照以下说明安装linux-project存储库并安装带有其他功能的UV4L驱动程序。然后安装服务器和mjpeg。
安装所有组件之后,您可以访问端口8080上的HTTP服务器。还应该检查
/etc/uv4l/conf
文件并设置是否要使用mjpeg或H .264,虽然有所不同,但是您可以通过内置的Web服务器调整一些设置。HTML 5
这就是我们一直在等待的(称为WebRTC),并感谢新的驱动程序(在Raspberry Pi 2上)运行良好。 index.php?op = viewarticle&artid = 14:
curl http://www.linux-projects.org/listing/uv4l_repo/lrkey.asc | sudo apt-key add -
# Add the following line to the file /etc/apt/sources.list
# deb http://www.linux-projects.org/listing/uv4l_repo/raspbian/ wheezy main
sudo apt-get update
sudo apt-get install uv4l uv4l-raspicam
sudo apt-get install uv4l-raspicam-extras
然后在您的Raspberry Pi 2上安装WebRTC(对于Raspberry Pi 1,请阅读链接站点选项)
sudo apt-get install uv4l-webrtc
重新启动所有驱动程序,然后转到
http://raspberry:8080/
您现在具有低延迟,高质量的视频流直接流入现代浏览器,例如Chrome或Firefox。 (也许是Safari,但我无法检查,因为他们不再使用Winblows和Internet Explorer ... eh)
MJPEG
默认情况下它使用
mjpeg
1080p,这是非常缓慢的我将其调整为800x600帧大小,并使用iSpy之类的东西来处理视频。为了安全起见,在一个清晰的视频中我得到大约10 fps。比此驱动程序之前的640x480 3fps好得多。它可以在具有Safari,Android Chrome和几乎所有其他功能的iPhone上运行。现在。确保将配置设置为使用
http://raspberrypi:8080/stream/video.mjpeg
或motion
H.264
现在,此问题已针对“流”进行了修复,并且我们不必花很多精力通过VLC媒体播放器观看H.264视频。该数据流是RAW H.264,因此,如果需要在其他地方工作,则需要对其进行解复用或转码/封装。如果通过Wi-Fi流式传输,则应在配置文件中调整
v4l2_palette 8
。在VLC媒体播放器中,必须告诉它要使用H.264多路分配器。因此,如果您使用的是GUI,请确保添加参数
v4l2_palette 2
。从命令行bitrate=xxxxxx
。否则,即使打开了相机LED指示灯,您也只会看到黑屏。:demux=264
Voila!高清流媒体约有500毫秒的延迟(通过调整可降至200毫秒)。绝对比使用旧方法容易得多。质量和FPS很棒,但是如果不转码到MP4或WebM,就不能将其嵌入HTML5。我希望这将得以实现,因为它将真正使它成为一个出色的独立服务器。 http://www.linux-projects.org/uv4l/tutorials/rtsp-server/
HLS
不支持/实现
还没有可用的
vlc http.../video.h264 --demux h264
驱动程序。这意味着我们不能使用ffserver来通过http://raspberrypi:8080/stream/video.h264
或类似USB网络摄像头的类似数据流式传输数据。 br /> 这是一篇使用
video4linux
(不是HTML5)用于流式传输几乎实时(<0.5s)视频的文章。在这里,您可以使用VLC媒体播放器,并使用/dev/video0
将其嵌入到网页中:)(延迟)评论
现在有video4linux驱动程序,官方的V4L2驱动程序bcm2835-v4l2和用户空间V4L2驱动程序[linux-projects.org/modules/sections/…
– mpromonet
2014年10月11日在22:35
是真正的v4l驱动程序,还是仅仅是raspivid周围的包装提供了出色的性能?
– Piotr Kula
2014年10月12日21:17
官方驱动程序使用MMAL接口,请参见源代码[github.com/raspberrypi/linux/blob/rpi-3.12.y/drivers/media/…。性能似乎是正确的。
– mpromonet
14-10-19在20:17
我已经玩了三天了。 mjpeg编码最终更加稳定,并且可以在iPhone,Android或iSpy上可靠地查看800x600 @ 10fps。 h264非常适合1080p 30fps,我们可以使用--demux h264标志在vlc中查看。我们仍然需要对此代码进行转码,以便在移动设备上使用或以mp4 / webm的形式嵌入网页。但是,这确实是朝着高效和高质量迈进的伟大一步。不要与“其他” UV4L非linux项目驱动程序混淆。
– Piotr Kula
14-10-24在7:50
请注意,在H264方法中添加:demux = 264是用于vlc服务器,而不是vlc客户端。因此,启动树莓派上的流以与智能手机中的vlc兼容的命令行是:/ usr / bin / cvlc v4l2:/// dev / video0 --v4l2-width 800 --v4l2-height 400 --v4l2-色度h264 --sout'#standard {access = http,mux = ts,dst = 0.0.0.0:8080}':demux = 264
– Jaime M.
2015年5月7日19:56
#3 楼
使用MJPEG进行流传输U4VL
带有内置HTTP(S)服务器的内核接口。
http://www.linux-projects .org / uv4l / tutorials / streaming-server /
Raspberry Pi Cam Web界面
silvanmelchior的一个不错的项目,它部署了类似dvr的多目标流服务器。需要更多信息
https://github.com/silvanmelchior/RPi_Cam_Web_Interface
旧版方法
几乎所有浏览器都支持使用mjpg进行流式传输,包括Internet Explorer.6。H.264之前使用的许多相机都使用硬件mjpg,本质上是尽可能快地将JPEG文件转储到文件夹中,而mjpg将文件读入缓冲区并删除它们。某些设备可能会达到25 fps,即使您的连接不好也可能会获得至少1 fps。通过Internet和H.264是一种更快,更好质量的协议。
由于我们无法自然地使用摄像头模块广播H.264,因此这似乎是可行的后备方式...
几乎是即时的,但不要指望获得超过1.5 fps的速度。这归结为
raspistill
极其缓慢!将延时功能设置为100毫秒(应为我们提供10 fps)不起作用,因为raspistill
只是阻塞了,并且自身内部存在严重的性能问题。更改
/tmp
以将RAM用于速度/etc/default/tmpfs
-更改RAMTMP=yes
(这是为了提高fps,但是raspistill不能保持其自身速度。)重启
apt-get install git
cd
/usr/src
,mkdir mjpg-streamer,cd mjpg-streamer ... git clone https://github.com/engine12/mjpg-streamer.git
make USE_LIBV4L2=true clean all
可选(如果有错误)
sudo ln -s /usr/include/libv4l1-videodev.h /usr/include/linux/videodev.h
sudo ln -s /usr/include/lib4l2.h /usr/include/linux/lib4l2.h
在makefile内,注释掉所有插件,但input_file和output_http除外,然后再次制作。我在这里遇到了很多问题。
将二进制文件
mjpg_streamer
及其插件input_*.so
和output_*.so
复制到/usr/local/bin
。否则,请直接从src目录运行它。可选端
mkdir /tmp/stream
raspistill -w 640 -h 480 -q 5 -o /tmp/stream/pic.jpg -tl 100 -t 9999999 -th 0:0:0 &
LD_LIBRARY_PATH=./ ./mjpg_streamer -i "input_file.so -f /tmp/stream" -o "output_http.so -w ./www"
(在二进制和插件所在的位置运行)转到
http://<IP-address>:8080
这里有一些选择,以老式的方式享受“实时”流式传输...受大多数浏览器支持-现代,旧式和实验性。它持续了大约5个小时……叹气,但是我想我会用它,因为我可以从任何手机和任何浏览器访问流。我只需要等到我们得到更好的车手...再过一两年。 :(
无论我尝试哪种质量,使用流都不会比1 fps更快或更慢。我使用720p和1080p,并且只有图像质量更好,但是fps在局域网上没有区别。我想较小的设置将有助于WAN / 3G或其他无线电传输。raspistill将图像写入单个文件。这可能是一个瓶颈。它会写入文件,mjpg strreamer会读取并删除它导致阻塞的I / O,因此raspistill无法写入文件。也许它比usign raspistill快得多。我设法以令人震惊的质量获得了25 fps,并且延迟了大约10秒...调整设置使我获得了3 fps,但是CPU达到了100%。没有硬件用于处理视频流...
raspivid -w 640 -h 480 -fps 25 -vf -t 86400000 -b 1800000 -o - \
ffmpeg -i - \
-f image2(?) \
-c:v mjpeg \
stream%d.jpg
我也在阅读,发现我们可以在raspistill输出文件名中使用
%d
。我想知道是否可以提高fps。 JPG编码在raspistill中也是硬件加速的,所以我真的很难弄清楚为什么它这么慢... 我在文件名中使用
%d
得到了惊人的2 FPS。由于某种原因,从raspistill写入JPEG文件非常慢。叹气。#4 楼
从2017年(或更早)开始,raspivid
不再是首选方法,Pi开发人员建议人们改为使用V4L2。所以此方法允许您使用V4L2而不是
raspivid
通过RTP传输H264。我注意到这种方法可以减少辍学,并允许更高的比特率:像这样的命令:#!/bin/sh
# Use V4L2 (preferred) instead of raspivid
# exposure_dynamic_framerate=1 (raspivid --fps 0) - reduce framerate/increase exposure in low light
# scene_mode=8 (raspivid --exposure night) - allow framerate reduction to increase exposure
v4l2-ctl -v width=1296,height=972,pixelformat=H264 \
--set-ctrl=exposure_dynamic_framerate=1 \
--set-ctrl=video_bitrate=5000000 \
--set-ctrl=scene_mode=8
exec ffmpeg -f h264 -probesize 32 -r 30 -i /dev/video0 -vcodec copy -an -f rtp_mpegts udp://224.0.1.2:5004
-sync ext
导致视频以最快的速度播放,因此它将实时运行,而不是以固定的帧速率和如果Pi捕获帧的速度比此速度快,则滞后。此方法仍然存在一些滞后性,但并不比其他raspivid
方法差。(提示:如果您插入支持IGMP的路由器或交换机,请确保
224.0.0.0/4
未在您的防火墙上防火墙计算机,否则当路由器询问您的PC是否需要任何多播流量时,PC将永远不会响应,并且您也永远不会看到任何视频。)录制到磁盘上
我在下面的评论中提到了录制,在这里我将对此进行扩展。您可以使用以下命令将网络流记录到磁盘:
ffplay -sync ext -an -fast -framedrop -probesize 32 -window_title "Raspberry Pi" -an udp://224.0.1.2:5004
查看
man strftime
,了解文件名中%
符号的含义。本示例中的日期使用日期编号(0 =星期日,1 =星期一等),后跟一个T
,然后是时间。它每15分钟就会启动一个新文件。只需清除一下,该记录命令就可以在远程PC上运行(而不是在Pi本身上),尽管它可能也可以在Pi上运行(未经测试)。
由于您每隔15分钟就会获得一个新文件,文件名中包含日期和时间,这意味着一周后您将开始生成已使用的文件名,从而导致最早的文件被覆盖。换句话说,您将得到前一周素材的滚动循环。这是安全摄像机的理想选择,您很少需要回去一周以上。
作为一个旁注,此摄像机可以产生大约500GB的文件,因此您可能需要调整比特率,分辨率,或者如果您不希望文件占用太多空间,请尽快覆盖文件(例如每24小时覆盖一次)。
评论
酷-感谢您分享。您能解释一下为什么在这里需要使用多播吗?据我了解,很少使用多播-所以我想知道它带来了什么?仍然-该脚本看起来不错,我相信它将有助于分配人员。谢谢+1
– Piotr Kula
17 Mar 20 '17 at 12:31
多播是可选的-如果需要,您可以只替换一个普通的IP地址-但是,如果您希望多台计算机显示源,则需要更改命令以使用ffserver或其他服务器系统。然后,在大约2-3个客户端(取决于视频比特率)之后,Pi的USB以太网适配器将耗尽带宽。使用多播,无需运行服务器(客户端计算机只需选择是听还是忽略流量),因此您可以使成千上万台计算机显示视频而不会影响Pi,而Pi只会发送单个视频流。
–马耳他
17 Mar 20 '17在23:58
是的,组播主要用于内部网络。它应该可以与IPv6更好地协作,但我认为仍需要ISP的合作。我之所以使用它,是因为这意味着我不必在Pi上运行服务器,并且我可以查看来自两台不同计算机的流并将其记录到磁盘上,而无需更改Pi的配置或使Pi的网络带宽过载。如果您的内部网络很大,那么您可能会使用具有IGMP功能的交换机,这些交换机旨在仅在需要影响的发送多播流量时才发送与正常情况相同的消息。
–马耳他
17 Mar 22 '17 at 0:17
感谢您的解释。.现在,我可以看到使用带有少量警告的多播的许多好处,甚至不会真正影响家庭用户。我一定会试试看。有时需要指出一些简单明了的东西才有意义。并查看您的更新..录音位真的非常酷!
– Piotr Kula
17-3-22在13:13
@ElliottB:这个GitHub问题是其中一位开发人员说raspivid仅用于演示的地方,现在V4L2支持raspivid所做的一切。
–马耳他
20年1月29日在23:39
#5 楼
我设法使用内置模块nginx-rtmp从Raspberry Pi流式传输到Web服务器。raspivid -vf -t 0 -fps 25 -b 2000000 -o - |
ffmpeg -i - -vcodec copy -an -r 25 -f flv rtmp://x220/myapp/mystream
一些注意事项:
硬件编码的H.264视频流大约需要300 KB /秒的带宽,如果我这样做的话我的计算正确无误,如果您希望流式传输到Nginx-rtmp httpd或ustream之类的RTMP服务,则每月至少需要750 GB。
音频:如果要音频随H.264流传输它在AAC中。基本上,Raspberry Pi太慢了,无法即时将USB麦克风编码为AAC。
因此,在此基础上,我认为从Raspberry Pi进行实时流传输对于临时广播来说可能是可以的,但对于永远在线的网络摄像头,因为它非常耗带宽。您将不会获得音频,如果您获得音频,则将执行同步任务。
您可以在录制视频的同时,更有效地分别录制音频。然后稍后再混合音频输入,然后将其转换为WebM,并将其作为带有HTML视频标签的静态文件放在您的httpd上。工作流程非常尴尬,尽管这是我能想到的最好的方法,它可以在浏览器之间毫不费力地进行有效的广播。
评论
您可以控制带宽和分辨率。如果它的本地局域网流供CCTV使用,那就不是问题。可能需要点播和/或分辨率低得多的Internet广播。但这是另一种方式。谢谢+1
– Piotr Kula
13年8月5日在8:28
以及它应该如何工作? FFMPEG说“ RTMP_Connect0,无法连接套接字。111(连接被拒绝)”
– Flash Thunder
2015年7月3日14:33
#6 楼
UV4L现在支持通过WebRTC和HTML5进行实时音频和视频流传输。评论
只需阅读上面的链接...
–斯特龙兹
2015年3月30日15:41
真的很好!
– Piotr Kula
15年4月8日在17:37
怎么样?指向示例页面的链接已损坏...
–塞林
16-2-20在21:27
我已经看过那些教程,可以确认它们不起作用
– Quintin Balsdon
17年7月10日在10:22
我可以确认它确实可以按照我的尝试进行操作。.structionables.com/ id / Raspberry-Pi-Video-Streaming
– Tia
17年12月30日在11:05
#7 楼
Piotr Kula的答案似乎是在正确的轨道上,但是对于Raspberry Stretch是过时的。-projects.org/uv4l/installation/
# switch to superuser mode
sudo -s
# add the repository key for uv4l
curl http://www.linux-projects.org/listing/uv4l_repo/lpkey.asc | sudo apt-key add
# add the url for the u4vl repository to apt
echo "deb http://www.linux-projects.org/listing/uv4l_repo/raspbian/stretch stretch main" >> /etc/apt/sources.list
apt-get update
apt-get install uv4l uv4l-raspicam
apt-get install uv4l-raspicam-extras
# do not forget to install the server - see what happens if you do
# below
apt-get install uv4l-server
reboot
您可以通过以下方式选择uv4l选项: /etc/uv4l/uv4l-raspicam.conf
,然后使用
sudo service uv4l_raspicam restart
重新启动服务。如果忘记安装uv4l-server ...)。以下注释可以帮助您调试类似的问题。
我检查服务器是否正在运行:
pgrep -fla uv4l
995 /usr/bin/uv4l -f -k --sched-fifo --mem-lock --config-file=/etc/uv4l/uv4l-raspicam.conf --driver raspicam --driver-config-file=/etc/uv4l/uv4l-raspicam.conf --server-option=--editable-config-file=/etc/uv4l/uv4l-raspicam.conf
以及是否使用
sudo netstat -tulpn
,但是列表中没有uv4l条目。我本来希望为8080端口提供一个端口,所以我尝试了如何配置UV4L的命令?自动启动...
uv4l --sched-rr --mem-lock --driver raspicam \
> --width 960 --height 540 --framerate 30 \
> --encoding mjpeg --vflip --hflip
<notice> [core] Trying to loading driver 'raspicam' from built-in drivers...
<notice> [core] Loading driver 'raspicam' from external plug-in's...
<notice> [driver] Dual Raspicam & TC358743 Video4Linux2 Driver v1.9.63 built Oct 6 2018
<notice> [driver] Detected camera imx219, 3280x2464
<notice> [driver] Selected format: 960x544, encoding: mjpeg, JPEG Video Capture
<notice> [driver] Framerate max. 30 fps
<notice> [core] Device detected!
<notice> [core] Registering device node /dev/uv4l
然后向我展示了选项
man uv4l
所以我尝试了:
--enable-server [=arg(=required)] (=auto)
enable the streaming server. Possible values are: 'auto' (tenta‐
tively start the server), 'required' (exit if failing to start
the server, only works if --foreground is enabled), 'off' (no
server at all).
,但仍然没有服务器在端口8080或elswhere上运行。因此,似乎我忘记了手册页指出的“ --foreground”选项:
pkill uv4l
sudo uv4l --sched-rr --mem-lock --driver raspicam --encoding mjpeg --enable-server=required
<notice> [core] Trying to loading driver 'raspicam' from built-in drivers...
<notice> [core] Loading driver 'raspicam' from external plug-in's...
<notice> [driver] Dual Raspicam & TC358743 Video4Linux2 Driver v1.9.63 built Oct 6 2018
<notice> [driver] Detected camera imx219, 3280x2464
<notice> [driver] Selected format: 1920x1080, encoding: mjpeg, JPEG Video Capture
<notice> [driver] Framerate max. 30 fps
<notice> [core] Device detected!
<notice> [core] Registering device node /dev/uv4l
现在,这很明显!似乎还没有服务器-请安装它:
sudo uv4l --sched-rr --mem-lock --driver raspicam --encoding mjpeg --enable-server=required --foreground
<notice> [core] Trying to loading driver 'raspicam' from built-in drivers...
<notice> [core] Loading driver 'raspicam' from external plug-in's...
<notice> [driver] Dual Raspicam & TC358743 Video4Linux2 Driver v1.9.63 built Oct 6 2018
<notice> [driver] Detected camera imx219, 3280x2464
<notice> [driver] Selected format: 1920x1080, encoding: mjpeg, JPEG Video Capture
<notice> [driver] Framerate max. 30 fps
<notice> [core] Device detected!
<notice> [core] Trying to load the the Streaming Server plug-in...
<warning> [core] libserver.so: cannot open shared object file: No such file or directory
<alert> [core] No Streaming Server detected
,然后重试:
sudo apt-get install uv4l-server
现在可以在http:// pi:8080上使用服务器(将pi替换为服务器的ip或主机名)
重新启动后,它无需输入其他命令即可工作。
#8 楼
UV4L现在支持通过Web向Jitsi Meet Rooms进行实时音频和视频广播。无需特殊配置。只需填写您的姓名,房间并单击“开始”即可。评论
您正在使用哪个浏览器? Jitsi仅支持Chrome,Chromium,Opera和Firefox NIghtly,其中Pi上仅提供Chromium。但是Chromium给我一个webkitRTCPeerConnection未定义错误。我通常将IceWeasel用于WebRTC,但Jitsi不支持。
–模数
2015年9月17日上午10:28
PI上没有支持WebRTC的浏览器,但IceWeasel中几乎没有支持。我使用它的方式是:Pi->云上的Jitsi服务器->其他地方的PC
–prinxis
2015年9月17日于20:44
UV4L无延迟地支持硬件编码的H264实时流。
–prinxis
16年1月14日在21:36
评论
我也在做这个。我认为您需要为nginx或类似的东西添加MP4支持。如果我有突破,将通知您。@recantha您在流视频方面有什么新突破吗?
我发现的最佳解决方案是基于Silvan Melchoir的RaspiMJPEG。看一下我的博客,其中包含指向Raspberry Pi Foundation的论坛的链接,其中解释了所有内容。 (recantha.co.uk/blog/?p=11176)
是的,能够流式传输到各种设备看起来很棒。你得到什么FPS和滞后?我确实设法使uv4l与VLC和OSD很好地兼容。一个非常简短的演示。很快就会变得更好。经过数小时的反复试验,在深夜制成。 youtu.be/LO10Ytlauag
@ppumkin我如何在运行RaspiMJPEG时通过python脚本进行录制?它可以开始录制视频,但以.h264格式录制,如何在按下start_recording时运行python脚本?