国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

untiy 錄制網(wǎng)絡(luò)攝像頭視頻并保存到本地文件

這篇具有很好參考價(jià)值的文章主要介紹了untiy 錄制網(wǎng)絡(luò)攝像頭視頻并保存到本地文件。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

網(wǎng)絡(luò)攝像頭使用的是??低暤?,關(guān)于如何使用Ump插件播放海康威視r(shí)tsp視頻流,請(qǐng)參考我的這篇文章
內(nèi)部有ump插件的下載鏈接
untiy接入 海康威視網(wǎng)絡(luò)攝像頭

錄屏使用的插件是 AVPro movieCapture 4.6.3版, 插件和完整工程的下載鏈接放在本文的最后

錄制攝像頭的實(shí)現(xiàn)思想為
1 ump通過(guò)一個(gè)在RenderTexture上繪制圖像來(lái)播放畫面
2 movieCapture支持從紋理中獲取畫面
3 我們只需要使用Graphics.Blit()函數(shù)將一個(gè)紋理繪制到另一個(gè)紋理即可

核心腳本為以下三個(gè)
untiy 錄制網(wǎng)絡(luò)攝像頭視頻并保存到本地文件

RecoderManger是我們自己寫的,用于打通ump和AVPro movieCapture之間的連接
CaptureFromTexture是AVPro movieCapture中用于從紋理中錄像的腳本,掛上就行,不用做任何調(diào)整
UniversalMediaPlayer是Ump插件提供的腳本,用于拉取網(wǎng)絡(luò)攝像頭的視頻

Ump里的預(yù)制體RawImage用于用于提供一個(gè)臨時(shí)的容器,ump會(huì)新建一個(gè)RenderTexture并給Rawimge的mainTexture屬性賦值(面板上顯示的屬性名為texture),RecoderManger獲取這個(gè)RenderTexture,然后將圖案繪制到CaptureFromTexture里的_texture屬性里,這樣就完成了錄像

程序打開sampleScene,直接運(yùn)行即可錄屏,停止運(yùn)行即可保存錄像,代碼里有詳細(xì)注釋,這里不再贅述

using RenderHeads.Media.AVProMovieCapture;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UMP;

public class RecoderManager : MonoBehaviour
{
	public int _textureWidth = 1024; //視頻的寬
	public int _textureHeight = 768; //視頻的高
	private CaptureFromTexture movieCapture = null; //錄像機(jī)
	private UniversalMediaPlayer ump;//ump,用于拉取網(wǎng)絡(luò)攝像頭的視頻
	//外部rawImage
	public RawImage rawImage;
	//錄像用的渲染紋理
	private RenderTexture _texture;
	/// <summary>
	/// 錄像保存的路徑
	/// </summary>
	private string filePath = "";
	/// <summary>
	/// 錄像保存的文件夾名,追在在路徑之后
	/// </summary>
	public string folderName = "";
	/// <summary>
	/// 視頻降低多少分辨率,以  _textureWidth  _textureHeight 制定的寬高為基礎(chǔ)
	/// </summary>
	public CaptureBase.DownScale downScale = CaptureBase.DownScale.Half;
	/// <summary>
	/// 視頻的前綴名
	/// </summary>
	public string fileNamePrefix = "";
	/// <summary>
	/// 視頻流的地址
	/// </summary>
	public string RTSPAddress = "";

	private void Start()
	{
		ump = GetComponent<UniversalMediaPlayer>();
		movieCapture = GetComponent<CaptureFromTexture>();
		//如果視頻流是空的,直接返回
		if (string.IsNullOrEmpty(RTSPAddress))
		{
			print("視頻流地址為空,停止錄像");
			return;
		}
		//設(shè)置拉取的視頻流
		ump.Path = RTSPAddress;
		ump.Play();
		//設(shè)置渲染紋理
		_texture = new RenderTexture(_textureWidth, _textureHeight, 0, RenderTextureFormat.ARGB32, RenderTextureReadWrite.Linear);
        _texture.filterMode = FilterMode.Bilinear;
        _texture.Create();
        if (movieCapture)
		{
			movieCapture.SetSourceTexture(_texture);
		}
		//設(shè)置錄像機(jī)的屬性
		filePath = Application.streamingAssetsPath + "/RecoderVideo/"+folderName+"/";
		movieCapture.OutputFolderPath = filePath;//視頻的保存路徑 路徑不存在會(huì)自動(dòng)創(chuàng)建
		movieCapture.FilenamePrefix = fileNamePrefix;//視頻的名字的前綴
		movieCapture.ResolutionDownScale = downScale;	//降低分辨率	
		//開始錄像
		movieCapture.StartCapture();		
		rawImage.gameObject.SetActive(false); // RawImage的作用是提供中轉(zhuǎn)用的RenderTexture,禁用即可
	}

	

	private void OnDestroy()
	{
		if (_texture != null)
		{
			RenderTexture.Destroy(_texture);
			_texture = null;
		}
		movieCapture.StopCapture();
	}

	private void Update()
	{
		UpdateTexture();
	}

	private void UpdateTexture()
	{
		Graphics.Blit(rawImage.mainTexture, _texture); //將紋理1 繪制到 紋理2 上,此處為將網(wǎng)絡(luò)攝像頭的畫面繪制到錄像用的紋理上
	}
}

資源免積分下載
AVPro movieCapture 4.6.3
完整工程文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-407946.html

到了這里,關(guān)于untiy 錄制網(wǎng)絡(luò)攝像頭視頻并保存到本地文件的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • OpenCv:采集攝像頭視頻、讀取視頻幀與視頻錄制

    目錄 一、涉及OpenCv函數(shù) 二、什么是幀、幀的大小代表什么 三、攝像頭獲取視頻數(shù)據(jù) 四、錄制視頻并保存 從設(shè)備,可以是攝像頭可以是本地視頻, 獲取視頻的函數(shù) cv.VideoCapture()。 本函數(shù)作用在于創(chuàng)建一個(gè)VideoCapture或者VideoWriter對(duì)象,真正的讀取和寫入是通過(guò)創(chuàng)建的對(duì)象進(jìn)行

    2024年02月16日
    瀏覽(31)
  • Qt編寫推流綜合應(yīng)用示例(文件推流/桌面推流/本地?cái)z像頭/網(wǎng)絡(luò)攝像頭/轉(zhuǎn)發(fā)推流/視頻分發(fā))

    Qt編寫推流綜合應(yīng)用示例(文件推流/桌面推流/本地?cái)z像頭/網(wǎng)絡(luò)攝像頭/轉(zhuǎn)發(fā)推流/視頻分發(fā))

    1.1 文件推流 指定網(wǎng)卡和監(jiān)聽端口,接收網(wǎng)絡(luò)請(qǐng)求推送音視頻等各種文件。 實(shí)時(shí)統(tǒng)計(jì)顯示每個(gè)文件對(duì)應(yīng)的訪問(wèn)數(shù)量、總訪問(wèn)數(shù)量、不同IP地址訪問(wèn)數(shù)量。 可指定多種模式,0-直接播放、1-下載播放。 實(shí)時(shí)打印顯示各種收發(fā)請(qǐng)求和應(yīng)答數(shù)據(jù)。 每個(gè)文件對(duì)應(yīng)MD5加密的唯一標(biāo)識(shí)符,

    2023年04月22日
    瀏覽(21)
  • 【opencv+圖像處理】(Gui Features in OpenCV) 1-1攝像頭:采集攝像頭視頻,讀取視頻幀,錄制視頻

    【opencv+圖像處理】(Gui Features in OpenCV) 1-1攝像頭:采集攝像頭視頻,讀取視頻幀,錄制視頻

    本專欄代碼總庫(kù)地址 https://github.com/xiawei20161308104/xv_opencv_tutorials 本節(jié)代碼路徑 xv_opencv_tutorials/VideoRelated/get_started_with_videos.py xv_opencv_tutorials/VideoRelated/get_and_set_video.py xv_opencv_tutorials/VideoRelated/save_video.py 參考官網(wǎng) https://docs.opencv.org/4.x/d6/d00/tutorial_py_root.html 從設(shè)備,可以是攝像

    2024年02月03日
    瀏覽(20)
  • Qt/C++編寫推流綜合應(yīng)用示例(文件推流/桌面推流/本地?cái)z像頭/網(wǎng)絡(luò)攝像頭/轉(zhuǎn)發(fā)推流/視頻分發(fā))

    Qt/C++編寫推流綜合應(yīng)用示例(文件推流/桌面推流/本地?cái)z像頭/網(wǎng)絡(luò)攝像頭/轉(zhuǎn)發(fā)推流/視頻分發(fā))

    1.1 文件推流 指定網(wǎng)卡和監(jiān)聽端口,接收網(wǎng)絡(luò)請(qǐng)求推送音視頻等各種文件。 實(shí)時(shí)統(tǒng)計(jì)顯示每個(gè)文件對(duì)應(yīng)的訪問(wèn)數(shù)量、總訪問(wèn)數(shù)量、不同IP地址訪問(wèn)數(shù)量。 可指定多種模式,0-直接播放、1-下載播放。 實(shí)時(shí)打印顯示各種收發(fā)請(qǐng)求和應(yīng)答數(shù)據(jù)。 每個(gè)文件對(duì)應(yīng)MD5加密的唯一標(biāo)識(shí)符,

    2024年02月11日
    瀏覽(20)
  • Opencv(C++)筆記--打開攝像頭、保存攝像頭視頻

    Opencv(C++)筆記--打開攝像頭、保存攝像頭視頻

    關(guān)鍵代碼語(yǔ)句: ① VideoCapture cam(0); ② cam.read(img); ③ imshow(\\\"cam\\\", img); 關(guān)鍵代碼: ①VideoWriter vw ②vw.open(): fourcc指定編碼格式(常見編碼方式)、 fps指定幀率、 Size指定大小 ③vw.write() 注:在Windows上執(zhí)行上述代碼可能會(huì)報(bào)以下錯(cuò)誤: 解決方法:在輸出的網(wǎng)址下載對(duì)應(yīng)版本的庫(kù)

    2024年02月11日
    瀏覽(24)
  • VUE+Django實(shí)現(xiàn)前端開啟攝像頭錄制存儲(chǔ)視頻并直接上傳后端

    VUE+Django實(shí)現(xiàn)前端開啟攝像頭錄制存儲(chǔ)視頻并直接上傳后端

    1.錄制前 2.錄制中 3.錄制結(jié)束下載文件至本地 4.視頻文件同時(shí)上傳至后端接口 參考博客https://blog.csdn.net/wuchenlhy/article/details/79311234?spm=1001.2014.3001.5506 博主在后端這塊寫的十分簡(jiǎn)潔明了,可以直接參考實(shí)現(xiàn)開設(shè)后端簡(jiǎn)單文件上傳接口的方法 參考文章: https://blog.csdn.net/XH_jing/a

    2024年02月14日
    瀏覽(100)
  • 使用ffmpeg調(diào)用電腦自帶的攝像頭和揚(yáng)聲器錄制音視頻

    使用ffmpeg調(diào)用電腦自帶的攝像頭和揚(yáng)聲器錄制音視頻

    1、打開cmd,執(zhí)行 chcp 65001 ,修改cmd的編碼格式為utf8,避免亂碼 2、執(zhí)行指令 ffmpeg -list_devices true -f dshow -i dummy ,查看當(dāng)前window的音頻和視頻名稱 3、打開windows系統(tǒng)的\\\"打開聲音設(shè)置\\\"–“麥克風(fēng)隱私設(shè)置”–\\\"允許應(yīng)用訪問(wèn)你的麥克風(fēng)\\\"點(diǎn)擊開啟 錄制視頻: 錄制音頻: 錄制音視頻:

    2024年02月04日
    瀏覽(33)
  • opencv基本操作二(讀取視頻流與保存視頻、讀取攝像頭并保存視頻)

    opencv常用 讀視頻函數(shù) cv2.VideoCapture 、 cv2.VideoCapture.get 等,可以參考這里 opencv常用 寫視頻函數(shù) cv2.VideoWriter 等可以參考這里 ,其中視頻格式可以參考這里 videoCapture.read() 是按幀讀取視頻, ret,frame 是獲 .read() 方法的兩個(gè)返回值。其中 ret 是布爾值,如果讀取幀是正確的則返回

    2023年04月08日
    瀏覽(380)
  • OpenCV 實(shí)現(xiàn)讀取攝像頭、視頻讀取保存 (C++)

    重點(diǎn)語(yǔ)句:VideoCapture、imshow 原理:使用VideoCapture語(yǔ)句讀取攝像頭,再利用while一次次將VideoCapture所讀取的數(shù)據(jù)利用imshow語(yǔ)句一幀幀地讀取出來(lái) 重點(diǎn)語(yǔ)句:VideoWriter 原理:在攝像頭讀取完圖之后,利用VideoWriter語(yǔ)句將圖像保存為固定格式 通過(guò)加入一個(gè)循環(huán)語(yǔ)句,按空格將圖片按

    2024年02月11日
    瀏覽(24)
  • opencv從視頻文件讀取視頻內(nèi)容,從攝像頭讀取保存視頻內(nèi)容

    opencv從視頻文件讀取視頻內(nèi)容,從攝像頭讀取保存視頻內(nèi)容

    (1)argparse模塊使編寫用戶友好的命令行接口變得容易。 (2)程序定義了它需要的參數(shù),而argparse將找出如何從sys.argv中解析這些參數(shù)。 (3)argparse模塊還會(huì)自動(dòng)生成幫助和使用消息,并在用戶給程序提供無(wú)效參數(shù)時(shí)發(fā)出錯(cuò)誤信息。 import argparse # 導(dǎo)入庫(kù) parser = argparse.Argume

    2024年02月22日
    瀏覽(28)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包