亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

樹莓派如何實現直播

發布時間:2021-11-20 10:42:29 來源:億速云 閱讀:372 作者:小新 欄目:互聯網科技

這篇文章主要為大家展示了“樹莓派如何實現直播”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“樹莓派如何實現直播”這篇文章吧。

樹莓派實現直播分兩種方式

1.通過USB攝像頭

2.通過CSI(樹莓派攝像頭)

今天我們實現通過CSI來實現直播功能,但是也介紹USB攝像頭實現直播的方案。

mjpg-streamer

支持CSI(樹莓派官方攝像頭)

開源項目github:mjpg-streamer

效果圖

樹莓派如何實現直播

基礎知識:cmake和make區別

實現過程

1.下載mjpg-streamer

wget https://github.com/jacksonliam/mjpg-streamer/archive/master.zip

2.Building & Installation

sudo install cmake libjpeg8-dev 

3.解壓master.zip

unzip master.zip

解壓后目錄
drwxr-xr-x  3 pi   pi       4096 Apr 12 05:24 mjpg-streamer-master/

4.編譯及安裝mjpg_steamer

cmake  指向CMakeLists.txt所在的目錄,例如cmake .. 表示CMakeLists.txt在當前目錄的上一級目錄。cmake生成很多編譯的中間文件以及makefile文件,所以一般新建一個新的_build,專門用來編譯

cd mjpg-streamer-experimental
mkdir _build
cd _build
cmake ..
make
sudo make install

make根據生成makefile文件,編譯程序

說明:

make就是make all,編譯用的--僅編譯,具體編譯了那些文件要看你的Makefile;

make install,編譯并安裝(比如安裝到/usr/bin目錄下,然后可以直接使用。因為/usr/bin只有管理員才能向里面添加文件,所以通常要加sudo)

5./etc/default/tmpfs:

# mount /tmp as a tmpfs.  Defaults to no; set to yes to enable (/tmp
# will be part of the root filesystem if disabled).  /tmp may also be
# configured to be a separate mount in /etc/fstab.
RAMTMP=yes

6.Reboot

7.raspistill -tl 500 -t 999999 -vf -w 960 -h 720 -o /tmp/mjpg/test.jpg -n -q 50&

8.mjpg_streamer -i 'input_file.so -f /tmp/mjpg -r'

9.啟動mjpg_streamer

pi@xxxxxx:~/mjpg-streamer-experimental$ mjpg_streamer
MJPG Streamer Version.: 2.0
 o: www-folder-path......: disabled
 o: HTTP TCP port........: 8080
 o: HTTP Listen Address..: (null)
 o: username:password....: disabled
 o: commands.............: enabled
bind: Address already in use

修改端口號:默認是8080端口,由于沒找到配置文件,也是很無奈!(這是我一開始理解的,把mjpg_stream當作一個簡單服務器了,實際上mjpg_stream是一款命令行程序,可通過mjpg_stream命令 - p操作修改端口號)

通過源碼修改端口號,重新編輯安裝

編輯器Visual Studio Code

/mjpg_streamer-experimental/output_http/output_http.c

int output_init(output_parameter *param, int id)
{
    int i;
    int  port;
    char *credentials, *www_folder, *hostname = NULL;
    char nocommands;

    DBG("output #%02d\n", param->id);

    port = htons(8099);
    credentials = NULL;
    www_folder = NULL;
    nocommands = 0;

    param->argv[0] = OUTPUT_PLUGIN_NAME;

    /* show all parameters for DBG purposes */
    for(i = 0; i < param->argc; i++) {
        DBG("argv[%d]=%s\n", i, param->argv[i]);
    }
}

10.http://<raspberrypi>:8099/

樹莓派如何實現直播

11.命令行啟動服務

cd到~/mjpg-streamer-master/mjpg-streamer-experimental

pi@xxxxxx:~/mjpg-streamer-master/mjpg-streamer-experimental$ mjpg_streamer -i "input_raspicam.so" -o "output_http.so -w ./www"
MJPG Streamer Version.: 2.0
 i: fps.............: 30
 i: resolution........: 640 x 480
 i: camera parameters..............:

Sharpness 0, Contrast 0, Brightness 50
Saturation 0, ISO 0, Video Stabilisation No, Exposure compensation 0
Exposure Mode 'auto', AWB Mode 'auto', Image Effect 'none'
Metering Mode 'average', Colour Effect Enabled No with U = 128, V = 128
Rotation 0, hflip No, vflip No
ROI x 0.000000, y 0.000000, w 1.000000 h 1.000000
 o: www-folder-path......: ./www/
 o: HTTP TCP port........: 8099
 o: HTTP Listen Address..: (null)
 o: username:password....: disabled
 o: commands.............: enabled
 i: Starting Camera
Encoder Buffer Size 81920

啟動腳本方式

vi live.sh

腳本內容

cd ~/mjpg-streamer-master/mjpg-streamer-experimental

mjpg_streamer -i "input_raspicam.so" -o "output_http.so -w ./www"

執行腳本

sh live.sh

12.視頻很卡頓的情況

原因在于mjpg-streamer/mjpg-streamer-experimental/plugins/input_raspicam/input_raspicam.c

static int fps = 5;//每秒5幀

修改為fps = 30;//每秒30幀

static int fps = 30;
static int width = 640;
static int height = 480;
static int quality = 85;
static int usestills = 0;
static int wantPreview = 0;
static int wantTimestamp = 0;
static RASPICAM_CAMERA_PARAMETERS c_params;

13.重新編譯安裝

查看步驟4編譯及安裝mjpg_steamer

14.更加流暢

/etc/default/tmpfs:

# mount /tmp as a tmpfs.  Defaults to no; set to yes to enable (/tmp
# will be part of the root filesystem if disabled).  /tmp may also be
# configured to be a separate mount in /etc/fstab.
RAMTMP=yes

Reboot.

raspistill -tl 500 -t 999999 -vf -w 960 -h 720 -o /tmp/mjpg/test.jpg -n -q 50&

mjpg_streamer -i 'input_file.so -f /tmp/mjpg -r'

http://<raspberrypi>:8080/?action=stream

aptitude——詳細查看已安裝或可用的軟件包。

sudo aptitude

樹莓派如何實現直播

用樹莓派官方攝像頭做絲滑般流暢的監控!

raspistill

支持CSI(樹莓派攝像頭)

網頁刷新照片方式,很low很low的方式,類似于播放幻燈片

["raspistill", "-t", "0.1/1/5", "-w", "300", "-h", "500" ]

說明:

紅色標注參數,只能是正整數,否則出現不可控,導致進程raspistill一直占用相機拍照。導致其它程序無法使用相機。

-t, --timeout : 拍照和關閉時的延時指定,未指定時默認是5s

nginx-rtmp-module

支持USB攝像頭,不支持CSI(樹莓派官方攝像頭)

nginx-rtmp-module

情況一:已安裝Nginx,重新把rtmp-module編譯Nginx

參考文章:如何升級Nginx到最新穩定版

參考文章:已安裝nginx動態添加模塊

參考文章:nginx 1.9.5 ./configure: error: invalid option "–with-http_spdy_module"

情況二:直接把rtmp-module與Nginx編譯,安裝Nginx

遇到的問題:

install FFmpeg

sudo apt-get install ffmpeg

樹莓派操作系統沒有ffmpeg程序

解決方案<<樹莓派攝像頭實時監控>>該文章中的提示:

"你還需要 libav-tools,它是一個 ffmpeg 分支。數月之前,Debian用libav-tools取代了了ffmpeg"

以上是“樹莓派如何實現直播”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

乐陵市| 宜黄县| 抚顺县| 龙川县| 拉萨市| 萨迦县| 宁化县| 利川市| 茌平县| 深水埗区| 普宁市| 讷河市| 腾冲县| 泰州市| 洪江市| 岳普湖县| 乐安县| 城口县| 若羌县| 黑山县| 赤水市| 崇左市| 府谷县| 买车| 图们市| 瑞安市| 瑞昌市| 邵阳县| 南康市| 余江县| 突泉县| 福海县| 岑巩县| 建始县| 大城县| 张掖市| 安义县| 花莲县| 婺源县| 湟源县| 保德县|