chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Linux驅(qū)動開發(fā)_mplayer播放器開發(fā)

DS小龍哥-嵌入式技術(shù) ? 2022-09-17 15:50 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

【摘要】 介紹mplayer播放器的安裝、使用、以及兩個模式的使用;然后介紹廣告機項目的要求,實現(xiàn)辦法。

USB wifi (360) : 如何從官網(wǎng)下載源碼進(jìn)行代碼移植、安裝相關(guān)無線工具、讓嵌入式設(shè)備支持WIFI。

任務(wù)1: 安裝mplayer播放器并學(xué)習(xí)使用方法

圖片格式、音樂文件(.mp3)、視頻文件(mp4)…….

學(xué)習(xí)文件編程: bmp圖片格式、JPG(jpeglib)。

視頻編碼解碼: ffmpeg庫。

Mplayer播放器: 源碼開源,可以下載、可以更改….。 (X11)

??安裝libmad庫方法

1.?在linux系統(tǒng)目錄下創(chuàng)建libmad文件夾: mkdir /work/libmad -p

2.?將libmad源碼解壓到 /work/libmad目錄下:

[root@wbyq libmad-0.15.1b]# tar xvf /mnt/hgfs/linux-share-dir/libmad-0.15.1b.tar.gz

3.?配置源碼,生成Makefile文件

[root@wbyq libmad-0.15.1b]# ./configure CC=arm-linux-gcc --enable-fpm=arm --host=arm-linux --disable-debugging --prefix=$PWD/_install

4.?將Makefile文件第129行的-fforce-mem選項去掉

5.?編譯安裝

[root@wbyq libmad-0.15.1b]# make && make install

6.?將生成的.so文件拷貝到開發(fā)板的lib目錄下。

??安裝mplayer播放器

1.?在/work目錄下創(chuàng)建一個mplayer文件夾

2.?將源碼解壓到mplayer目錄下

3.?配置mplayer源碼生成Makefile文件

./configure --prefix=$PWD/_install --cc=arm-linux-gcc --host-cc=gcc --target=arm-linux --enable-cross-compile --enable-mad --disable-gui --disable-menu --disable-x11 --yasm="" --extra-cflags=-I/work/libmad/libmad-0.15.1b/_install/include/ --extra-ldflags=-L/work/libmad/libmad-0.15.1b/_install/lib/

4.?編譯源碼: make

編譯成功之后會在當(dāng)前目錄下生成mplayer可執(zhí)行文件,將該可執(zhí)行文件拷貝到開發(fā)板根文件系統(tǒng)的/bin目錄下即可。

5.?播放測試

[root@tiny4412 ]#mplayer -zoom -x 800 -y 480 /work/video_file/Video_2018-12-11.wmv

??Mplayer播放器使用方式:

1.?主模式,運行mplayer播放器,播放器將占用當(dāng)前的終端,在主模式下mplayer程序不能后臺運行。

默認(rèn)從鍵盤上(表示輸入)獲取輸入信號對播放器進(jìn)行控制。

2.?從模式: 將mplayer播放器當(dāng)做子進(jìn)程啟動,父進(jìn)程可以通過管道與子進(jìn)程之間進(jìn)行通信

進(jìn)程間通信: 無名管道/命名管道(FIFO)、消息隊列、內(nèi)存映射(mmap)、內(nèi)存共享、信號。

創(chuàng)建子進(jìn)程的函數(shù): fork函數(shù)。

??聲卡驅(qū)動使用

poYBAGMlOkCAIYeaAABno-3CUrE385.png

將該壓縮包拷貝到開發(fā)板根文件系統(tǒng)目錄下,解碼,運行聲卡啟動腳本。

??在開發(fā)板上解壓: [root@tiny4412 ]#tar xvf /mnt/Tiny4412_SoundCard_wm8960.tar -C /work/

pYYBAGMlOkCAYhI7AAEPRQG1JvE182.pngpoYBAGMlOkGAHWq8AAC1jseZF64269.png

將耳機插在開發(fā)板的音頻輸出口上即可聽到聲音了。

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 

/*
獲取標(biāo)準(zhǔn)輸入的數(shù)據(jù)、寫給FIFO文件
*/
void *pthread_func(void *argv)
{
	int fd=open("/mplayer_fifo",2);
	if(fd<0)
	{
		printf("FIFO文件打開失敗!\n");
		pthread_exit(NULL); //結(jié)束當(dāng)前線程
	}
	char buff[100];
	int len;
	while(1)
	{
		printf("請輸入命令:");
		fflush(stdin);  	   //刷新緩沖區(qū)
		fgets(buff,100,stdin); //從鍵盤上獲取數(shù)據(jù)  get_percent_pos  get_file_name
		len=strlen(buff); 	   // get_file_name [0~12] [13]='\n'
		write(fd,buff,len);    // get_file_name '\n'
		memset(buff,0,100);
	}
}

int main(int argc,char **argv)
{
	int pid;
	
	/*1. 創(chuàng)建無名管道*/
	int fds[2];
	pipe(fds);
	
	/*2. 創(chuàng)建子進(jìn)程*/
	pid=fork();
	
	/*子進(jìn)程代碼: mplayer播放器*/
	if(pid==0)
	{
		/*將子進(jìn)程的標(biāo)準(zhǔn)輸出重定向到管道寫端*/
		dup2(fds[1],1);
		
		/*啟動子進(jìn)程*/
		execlp("mplayer","mplayer","-zoom","-x","800","-y","480","-slave","-quiet","-input","file=/mplayer_fifo","/work/video_file/Video_2018-12-11.wmv",NULL);
	}
	else /*父進(jìn)程*/
	{
		char buff[100];
		int cnt=0;
		
		/*創(chuàng)建新的線程: 從鍵盤上獲取輸入的數(shù)據(jù),寫給播放器的FIFO文件*/
		pthread_t threadID;
		pthread_create(&threadID,NULL,pthread_func,NULL);
		pthread_detach(threadID); //設(shè)置分離屬性
		
		while(1)
		{
			/*從管道的讀端讀取數(shù)據(jù): 讀取就是mplayer播放器輸出的數(shù)據(jù)*/
			cnt=read(fds[0],buff,100);
			buff[cnt]='\0';
			printf("播放器輸出的值=%s\n",buff);
		}
	}
	return 0;
}

任務(wù)2:制作視頻廣告機

廣告機應(yīng)用場景: 公交站臺、地鐵車廂、銀行前臺大廳、高速公路、公園….

1.?有些廣告機只有視頻播放,沒有聲音。

2.?廣告機都支持網(wǎng)絡(luò)視頻文件更新---->文件更新使用現(xiàn)成的服務(wù)器: FTP服務(wù)器、NFS服務(wù)器。

(1)?如何判斷服務(wù)器上那些文件需要下載到本地? 通過shell腳本代碼或者使用C語言

(2)?更新的時間一般是固定的: 20:00 23:00 …… 通過時間函數(shù)判斷時間是否到達(dá)。

(3)?在視頻問好更新的時候,視頻文件需要停止播放,可以在屏幕上顯示提示(正在更新…..)。

3.?廣告機需要支持自動播放,播放一個自動切換下一個、循環(huán)播放。

調(diào)用讀目錄、循環(huán)遍歷目錄、得到視頻文件、mplayer播放器需要使用子進(jìn)程方式啟動。

廣告機: 音量調(diào)整、選擇視頻播放…….都不是廣告機的功能---是視頻播放器的功能。

pYYBAGMlOkGANZoJAABwGfwDIe4315.png
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 播放器
    +關(guān)注

    關(guān)注

    5

    文章

    413

    瀏覽量

    38521
  • Linux
    +關(guān)注

    關(guān)注

    88

    文章

    11622

    瀏覽量

    217830
  • 廣告機
    +關(guān)注

    關(guān)注

    1

    文章

    192

    瀏覽量

    10159
  • mplayer
    +關(guān)注

    關(guān)注

    0

    文章

    6

    瀏覽量

    2688
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    迅為iTOP-3568開發(fā)板?Linux驅(qū)動開發(fā)實戰(zhàn):menuconfig圖形化配置實驗

    迅為iTOP-3568開發(fā)板?Linux驅(qū)動開發(fā)實戰(zhàn):menuconfig圖形化配置實驗
    的頭像 發(fā)表于 11-24 15:29 ?475次閱讀
    迅為iTOP-3568<b class='flag-5'>開發(fā)</b>板?<b class='flag-5'>Linux</b><b class='flag-5'>驅(qū)動</b><b class='flag-5'>開發(fā)</b>實戰(zhàn):menuconfig圖形化配置實驗

    【迅為工業(yè)RK3568穩(wěn)定可靠】itop-3568開發(fā)Linux驅(qū)動開發(fā)實戰(zhàn):RK3568內(nèi)核模塊符號導(dǎo)出詳解

    【迅為工業(yè)RK3568穩(wěn)定可靠】itop-3568開發(fā)Linux驅(qū)動開發(fā)實戰(zhàn):RK3568內(nèi)核模塊符號導(dǎo)出詳解
    的頭像 發(fā)表于 11-21 13:25 ?598次閱讀
    【迅為工業(yè)RK3568穩(wěn)定可靠】itop-3568<b class='flag-5'>開發(fā)</b>板<b class='flag-5'>Linux</b><b class='flag-5'>驅(qū)動</b><b class='flag-5'>開發(fā)</b>實戰(zhàn):RK3568內(nèi)核模塊符號導(dǎo)出詳解

    【免費送書】成為硬核Linux開發(fā)者:《Linux 設(shè)備驅(qū)動開發(fā)(第 2 版)》

    Linux系統(tǒng)的設(shè)備驅(qū)動開發(fā),一直給人門檻較高的印象,主要因內(nèi)核機制抽象、需深度理解硬件原理、開發(fā)調(diào)試難度大所致。2021年,一本講解驅(qū)動
    的頭像 發(fā)表于 11-18 08:06 ?392次閱讀
    【免費送書】成為硬核<b class='flag-5'>Linux</b><b class='flag-5'>開發(fā)</b>者:《<b class='flag-5'>Linux</b> 設(shè)備<b class='flag-5'>驅(qū)動</b><b class='flag-5'>開發(fā)</b>(第 2 版)》

    【書籍評測活動NO.67】成為硬核Linux開發(fā)者:《Linux 設(shè)備驅(qū)動開發(fā)(第 2 版)》

    Linux驅(qū)動開發(fā)在當(dāng)下也有著重要意義,從工業(yè)物聯(lián)網(wǎng)(IIoT)的傳感控制、智能汽車的車載系統(tǒng)硬件適配,到邊緣計算節(jié)點的資源調(diào)度,都需要Linux
    發(fā)表于 11-17 17:52

    花椒直播開源鴻蒙專屬直播播放器 助力高效開發(fā)高性能直播應(yīng)用

    近日,花椒直播開源了專注于直播場景的播放器“HJPlayer”。它基于自研的通用多媒體框架“HJMedia”打造,與早前開源的推流“HJPusher”共同構(gòu)成了覆蓋主播推流到觀眾播放的完整客戶端
    的頭像 發(fā)表于 10-22 11:20 ?189次閱讀
    花椒直播開源鴻蒙專屬直播<b class='flag-5'>播放器</b> 助力高效<b class='flag-5'>開發(fā)</b>高性能直播應(yīng)用

    Linux 應(yīng)用開發(fā)手冊

    T507linux應(yīng)用開發(fā)手冊
    發(fā)表于 08-22 17:01 ?10次下載

    雷卯針對香橙派Orange Pi 4 LTS開發(fā)板防雷防靜電方案

    ? 一、 應(yīng)用場景 小型 Linux 桌面計算機、Linux 網(wǎng)絡(luò)服務(wù)、游戲機、高清視頻播放器 二、核心功能參數(shù) 三、擴(kuò)展接口詳情 雷卯專心為您解決防雷防靜電的問題,有免費實驗室供檢
    的頭像 發(fā)表于 08-22 14:24 ?481次閱讀
    雷卯針對香橙派Orange Pi 4 LTS<b class='flag-5'>開發(fā)</b>板防雷防靜電方案

    基于開源鴻蒙的視頻播放開發(fā)樣例

    播放器封裝、全屏/窗口化動態(tài)切換、上下滑動輪播等關(guān)鍵技術(shù)方案,為開發(fā)者提供標(biāo)準(zhǔn)化視頻功能實現(xiàn)路徑,助力構(gòu)建高性能、可定制的多媒體應(yīng)用。
    的頭像 發(fā)表于 08-19 10:41 ?1298次閱讀
    基于開源鴻蒙的視頻<b class='flag-5'>播放開發(fā)</b>樣例

    Made with KiCad(135):Echo - 開源的音樂播放器

    “? Echo 是一個開源硬件平臺,專為音樂播放器設(shè)計。該項目的目標(biāo)是開發(fā)一款基于開源軟件并采用開源設(shè)計的高品質(zhì)音樂播放器。 ” ? Made with KiCad 系列將支持新的展示方式。直接將以
    的頭像 發(fā)表于 07-16 11:17 ?2717次閱讀
    Made with KiCad(135):Echo - 開源的音樂<b class='flag-5'>播放器</b>

    Made with KiCad:Tangara 便攜式音樂播放器

    不同,Tangara 還配備了全彩顯示屏、內(nèi)置電池以及單手觸控交互界面,為開發(fā)者提供更完整的硬件支持。 現(xiàn)代技術(shù)加持的高品質(zhì)音頻體驗 Tangara 首先是一款音頻播放器,其核心功能設(shè)計均圍繞這一本質(zhì)展開
    發(fā)表于 04-16 14:01

    BEM在移動端開發(fā)中的應(yīng)用案例

    實時視頻播放器項目 在移動端開發(fā)中,實時視頻播放器是一個常見的功能組件。通過BEM規(guī)范,可以為視頻播放器的各個部分進(jìn)行清晰的命名和組織。例如: Block : .live-play
    的頭像 發(fā)表于 02-12 17:13 ?822次閱讀

    迅為RK3568開發(fā)驅(qū)動指南Linux中通用SPI設(shè)備驅(qū)動

    迅為RK3568開發(fā)驅(qū)動指南Linux中通用SPI設(shè)備驅(qū)動
    的頭像 發(fā)表于 01-23 11:02 ?3403次閱讀
    迅為RK3568<b class='flag-5'>開發(fā)</b>板<b class='flag-5'>驅(qū)動</b>指南<b class='flag-5'>Linux</b>中通用SPI設(shè)備<b class='flag-5'>驅(qū)動</b>

    畢業(yè)設(shè)計競賽選題推薦 | 嵌入式Linux應(yīng)用之音樂播放器項目實戰(zhàn)(含文檔及源碼)

    提升了效率和心情。嵌入式Linux開發(fā)的音樂播放器,憑借其高效能與低能耗的特點,在便攜設(shè)備、智能家電以及車載系統(tǒng)等領(lǐng)域中展現(xiàn)出獨特的優(yōu)勢。它不僅能夠提供高品質(zhì)的音樂
    的頭像 發(fā)表于 12-23 16:50 ?1338次閱讀
    畢業(yè)設(shè)計競賽選題推薦 | 嵌入式<b class='flag-5'>Linux</b>應(yīng)用之音樂<b class='flag-5'>播放器</b>項目實戰(zhàn)(含文檔及源碼)

    瑞芯微主板/開發(fā)Linux系統(tǒng)播放音頻方法,觸覺智能RK3562開發(fā)板演示

    本文介紹瑞芯微方案主板/開發(fā)Linux系統(tǒng)播放音頻的方法,觸覺智能RK3562開發(fā)板演示,通用RK3566、RK3568、RK3588等
    的頭像 發(fā)表于 12-13 11:40 ?1372次閱讀
    瑞芯微主板/<b class='flag-5'>開發(fā)</b>板<b class='flag-5'>Linux</b>系統(tǒng)<b class='flag-5'>播放</b>音頻方法,觸覺智能RK3562<b class='flag-5'>開發(fā)</b>板演示

    海貝R1便攜音樂播放器開箱

    作為一個愛聽音樂打發(fā)時間的玩家,我已經(jīng)習(xí)慣隨身攜帶一款小巧輕便的音樂播放器,從早期的CD播放器到現(xiàn)在的數(shù)碼播放器,它總能在不經(jīng)意間中給我?guī)砗唵蔚目鞓?。不管是逛街等人的時候,還是工作壓力大的時候
    的頭像 發(fā)表于 12-09 09:40 ?1968次閱讀
    海貝R1便攜音樂<b class='flag-5'>播放器</b>開箱