欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

html5ffmpeg的簡(jiǎn)單介紹

怎么做到微信直播,HTML5直播,低延時(shí)

功能模塊概述

成都創(chuàng)新互聯(lián)是專業(yè)的乾安網(wǎng)站建設(shè)公司,乾安接單;提供網(wǎng)站制作、成都網(wǎng)站制作,網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行乾安網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!

通過obs客戶端推流到nginx流媒體服務(wù)器上,對(duì)流媒體用ffmpeg將流剪切為若干段ts流文件并保存到臨時(shí)目錄中,通過訪問m3u8格式拼接ts流文件段來觀看直播。

推流端

采用開源工具OBS客戶端進(jìn)行推流

根據(jù)項(xiàng)目的推流地址,填入OBS客戶端(下載地址)中,并設(shè)置場(chǎng)景,保存后重啟,便可開始推流。

為更加穩(wěn)定的推流,建議使用以上鏈接中的v0.625穩(wěn)定版本,按提示安裝完成后,打開設(shè)定.在廣播設(shè)定中,伺服器統(tǒng)一填寫我們項(xiàng)目的流媒體接收流地址:

rtmp://127.0.0.1:1935/hls/

以上這幾個(gè)數(shù)據(jù)都是可以更改的。

127.0.0.1——你的流媒體服務(wù)器ip

1935——你的rtmp端口號(hào)

hls——你的直播nginx配置模塊

具體在下文中也有詳細(xì)介紹

配置地址

回到主界面,右鍵來源,選擇添加視頻捕捉設(shè)備或獲取窗口等(相關(guān)設(shè)置默認(rèn)即可),點(diǎn)擊開始串流,便可開始直播。

添加場(chǎng)景

圖為添加視頻捕捉設(shè)備后的直播畫面:

直播中

流媒體服務(wù)器

Nginx接收推流模塊

rtmp_auto_push on;

rtmp {

server {

listen 1935;

application hls {

live on;

hls on;

hls_path /tmp/hls;

on_publish 項(xiàng)目地址/liveOnPublish;

on_publish_done 項(xiàng)目地址/liveOnDone;

notify_method get;

}

}

}

配上我在word上的注解

注解1

Nginx處理直播流模塊

http {

server {

listen 80;

server_name localhost;

location /hls {

secure_link $arg_st,$arg_e;

secure_link_md5 key$arg_e;

subs_filter .ts '.ts?st=$arg_ste=$arg_eclentip=$remote_addr';

subs_filter_types application/vnd.apple.mpegurl;

if ($secure_link = "") {

return 402;

}

if ($secure_link = "0") {

return 403;

}

# Serve HLS fragments

types {

application/vnd.apple.mpegurl m3u8;

video/mp2t ts;

}

root /tmp;

add_header Cache-Control no-cache;

}

}

}

注解2

項(xiàng)目部署服務(wù)器

流媒體服務(wù)器不通過項(xiàng)目服務(wù)器,整個(gè)直播過程的推流和處理流都在流媒體服務(wù)器上進(jìn)行。項(xiàng)目服務(wù)器主要進(jìn)行直播地址加密處理意見推流開始和結(jié)束觸發(fā)的方法(liveOnPublish(),liveOnDone())已及對(duì)直播地址加密.

播放端

直接通過HTML5中的video標(biāo)簽設(shè)置src來播放直播流。如:

video src="pro/live.m3u8?st=UM/L8jdfTlY2b1j1F6XSxA==e=1468548530

" controls="controls"/video

存在的問題

延遲待測(cè)試(不科學(xué)的數(shù)據(jù)是安卓手機(jī)普遍在30-40s,蘋果手機(jī)在20-30s)

并發(fā)待測(cè)試

掉幀待測(cè)試(網(wǎng)速影響大,網(wǎng)絡(luò)好幾乎不掉幀,網(wǎng)絡(luò)差掉一半,用戶體驗(yàn)差)

如何使用ffmpeg查看html5的codec

在系統(tǒng)環(huán)境變量的path中添加FFMPEG可執(zhí)行程序的的目錄。

例如FFMPEG位于D:\ffmpeg\bin中。右鍵“我的電腦”-屬性-高級(jí)系統(tǒng)設(shè)置-高級(jí)-環(huán)境變量,找到名字為path的變量,在其后追加字符串:D:\ffmpeg\bin;(結(jié)尾是有分號(hào)的)。設(shè)置完一般重啟后生效。

設(shè)置后,在任意目錄下都可以用ffmpeg.exe(ffplay.exe)轉(zhuǎn)碼(播放)。

FFmpeg功能命令匯總

前言

如此強(qiáng)大的FFmpeg,能夠?qū)崿F(xiàn)視頻采集、視頻格式轉(zhuǎn)化、視頻截圖、視頻添加水印、視頻切片、視頻錄制、視頻推流、更改音視頻參數(shù)功能等。通過終端命令如何實(shí)現(xiàn)這些功能,Richy在本文做一記錄,以備之后查閱。

注意:下面一一列舉的命令,未歸類整理,命令參數(shù)供參考。

如果參數(shù)有誤,大家可對(duì)照文章- FFmpeg參數(shù)命令 ,進(jìn)行修改。

第一組

1.分離視頻音頻流

ffmpeg -i input_file -vcodec copy -an output_file_video//分離視頻流ffmpeg -i input_file -acodec copy -vn output_file_audio//分離音頻流

2.視頻解復(fù)用

ffmpeg –i test.mp4 –vcodec copy –an –f m4v test.264

ffmpeg –i test.avi –vcodec copy –an –f m4v test.264

3.視頻轉(zhuǎn)碼

ffmpeg –i test.mp4 –vcodec h264 –s 352*278 –an –f m4v test.264

//轉(zhuǎn)碼為碼流原始文件

ffmpeg –i test.mp4 –vcodec h264 –bf 0 –g 25 –s 352*278 –an –f m4v test.264 //轉(zhuǎn)碼為碼流原始文件

ffmpeg –i test.avi -vcodec mpeg4 –vtag xvid –qsame test_xvid.avi //轉(zhuǎn)碼為封裝文件

說明: -bf B幀數(shù)目控制,-g 關(guān)鍵幀間隔控制,-s 分辨率控制

4.視頻封裝

ffmpeg –i video_file –i audio_file –vcodec copy –acodec copy output_file

5.視頻剪切

ffmpeg –i test.avi –r 1 –f image2 image-%3d.jpeg //提取圖片

ffmpeg -ss 0:1:30 -t 0:0:20 -i input.avi -vcodec copy -acodec copy output.avi //剪切視頻//-r 提取圖像的頻率,-ss 開始時(shí)間,-t 持續(xù)時(shí)間

6.視頻錄制

ffmpeg –i rtsp://192.168.3.205:5555/test –vcodec copy out.avi

7、利用ffmpeg視頻切片

主要把視頻源切成若干個(gè).ts格式的視頻片段然后生成一個(gè).m3u8的切片文件索引提供給html5的video做hls直播源

命令如下:

ffmpeg -i 視頻源地址 -strict -2 -c:v libx264 -c:a aac -f hls m3u8文件輸出地址

8、ffmpeg縮放視頻

假設(shè)原始視頻尺寸是 1080p(即 1920×1080 px,16:9),使用下面命令可以縮小到 480p:

命令如下:

ffmpeg -i 視頻源地址 -vf scale=853:480 -acodec aac -vcodec h264 視頻輸出地址(如:out.mp4)

各個(gè)參數(shù)的含義:-i a.mov 指定待處理視頻的文件名-vf scale=853:480 vf 參數(shù)用于指定視頻濾鏡,其中 scale 表示縮放,后面的數(shù)字表示縮放至 853×480 px,其中的 853px 是計(jì)算而得,因?yàn)樵家曨l的寬高比為 16:9,所以為了讓目標(biāo)視頻的高度為 480px,則寬度 = 480 x 9 / 16 = 853-acodec aac 指定音頻使用 aac 編碼。注:因?yàn)?ffmpeg 的內(nèi)置 aac 編碼目前(寫這篇文章時(shí))還是試驗(yàn)階段,故會(huì)提示添加參數(shù) “-strict -2” 才能繼續(xù),盡管添加即可。又或者使用外部的 libfaac(需要重新編譯 ffmpeg)。-vcodec h264 指定視頻使用 h264 編碼。注:目前手機(jī)一般視頻拍攝的格式(封裝格式、文件格式)為 mov 或者 mp4,這兩者的音頻編碼都是 aac,視頻都是 h264。out.mp4 指定輸出文件名上面的參數(shù) scale=853:480 當(dāng)中的寬度和高度實(shí)際應(yīng)用場(chǎng)景中通常只需指定一個(gè),比如指定高度為 480 或者 720,至于寬度則可以傳入 “-1” 表示由原始視頻的寬高比自動(dòng)計(jì)算而得。即參數(shù)可以寫為:scale=-1:480,當(dāng)然也可以 scale=480:-1

9、ffmpeg裁剪

有時(shí)可能只需要視頻的正中一塊,而兩頭的內(nèi)容不需要,這時(shí)可以對(duì)視頻進(jìn)行裁剪(crop),比如有一個(gè)豎向的視頻 1080 x 1920,如果指向保留中間 1080×1080 部分命令如下:ffmpeg -i 視頻源地址 -strict -2 -vf crop=1080:1080:0:420 視頻輸出地址(如:out.mp4)

其中的 crop=1080:1080:0:420 才裁剪參數(shù),具體含義是 crop=width:height:x:y,其中 width 和 height 表示裁剪后的尺寸,x:y 表示裁剪區(qū)域的左上角坐標(biāo)。比如當(dāng)前這個(gè)示例,我們只需要保留豎向視頻的中間部分,所以 x 不用偏移,故傳入0,而 y 則需要向下偏移:(1920 – 1080) / 2 = 420

10. 轉(zhuǎn)視頻格式

ffmpeng -i source.mp4 -c:v libx264 -crf 24 destination.flv

其中 -crf 很重要,是控制轉(zhuǎn)碼后視頻的質(zhì)量,質(zhì)量越高,文件也就越大。

此值的范圍是 0 到 51:0 表示高清無損;23 是默認(rèn)值(如果沒有指定此參數(shù));51 雖然文件最小,但效果是最差的。

值越小,質(zhì)量越高,但文件也越大,建議的值范圍是 18 到 28。而值 18 是視覺上看起來無損或接近無損的,當(dāng)然不代表是數(shù)據(jù)(技術(shù)上)的轉(zhuǎn)碼無損。

第二組

1.ffmpeg 把文件當(dāng)做直播推送至服務(wù)器 (RTMP + FLV)

ffmpeg - re -i demo.mp4 -c copy - f flv rtmp://w.gslb.letv/live/streamid

2.將直播的媒體保存到本地

ffmpeg -i rtmp://r.glsb.letv/live/streamid -c copy streamfile.flv

3.將一個(gè)直播流,視頻改用h264壓縮,音頻改用faac壓縮,送至另一個(gè)直播服務(wù)器

ffmpeg -i rtmp://r.glsb.letv/live/streamidA -c:a libfaac -ar 44100 -ab 48k -c:v libx264 -vpre slow -vpre baseline -f flv rtmp://w.glsb.letv/live/streamb

4.提取視頻中的音頻,并保存為mp3 然后輸出

ffmpeg -i input.avi -b:a 128k output.mp3

第三組

1.獲取視頻的信息

ffmpeg -i video.avi

2.將圖片序列合成視頻

ffmpeg -f image2 -i image%d.jpg video.mpg

上面的命令會(huì)把當(dāng)前目錄下的圖片(名字如:image1.jpg. image2.jpg. 等...)合并成video.mpg

3.將視頻分解成圖片序列

ffmpeg -i video.mpg image%d.jpg

上面的命令會(huì)生成image1.jpg. image2.jpg. ...

支持的圖片格式有:PGM. PPM. PAM. PGMYUV. JPEG. GIF. PNG. TIFF. SGI

4.為視頻重新編碼以適合在iPod/iPhone上播放

ffmpeg -i source_video.avi input -acodec aac -ab 128kb -vcodec mpeg4 -b 1200kb -mbd 2 -flags +4mv+trell -aic 2 -cmp 2 -subcmp 2 -s 320x180 -title X final_video.mp4

5.為視頻重新編碼以適合在PSP上播放

ffmpeg -i source_video.avi -b 300 -s 320x240 -vcodec xvid -ab 32 -ar 24000 -acodec aac final_video.mp4

6.從視頻抽出聲音.并存為Mp3

ffmpeg -i source_video.avi -vn -ar 44100 -ac 2 -ab 192 -f mp3 sound.mp3

7.將wav文件轉(zhuǎn)成Mp3

ffmpeg -i son_origine.avi -vn -ar 44100 -ac 2 -ab 192 -f mp3 son_final.mp3

8.將.avi視頻轉(zhuǎn)成.mpg

ffmpeg -i video_origine.avi video_finale.mpg

9.將.mpg轉(zhuǎn)成.avi

ffmpeg -i video_origine.mpg video_finale.avi

10.將.avi轉(zhuǎn)成gif動(dòng)畫(未壓縮)

ffmpeg -i video_origine.avi gif_anime.gif

11.合成視頻和音頻

ffmpeg -i son.wav -i video_origine.avi video_finale.mpg

12.將.avi轉(zhuǎn)成.flv

ffmpeg -i video_origine.avi -ab 56 -ar 44100 -b 200 -r 15 -s 320x240 -f flv video_finale.flv

13.將.avi轉(zhuǎn)成dv

ffmpeg -i video_origine.avi -s pal -r pal -aspect 4:3 -ar 48000 -ac 2 video_finale.dv

或者:

ffmpeg -i video_origine.avi -target pal-dv video_finale.dv

14.將.avi壓縮成divx

ffmpeg -i video_origine.avi -s 320x240 -vcodec msmpeg4v2 video_finale.avi

15.將Ogg Theora壓縮成Mpeg dvd

ffmpeg -i film_sortie_cinelerra.ogm -s 720x576 -vcodec mpeg2video -acodec mp3 film_terminate.mpg

16.將.avi壓縮成SVCD mpeg2

NTSC格式:

ffmpeg -i video_origine.avi -target ntsc-svcd video_finale.mpg

PAL格式:

ffmpeg -i video_origine.avi -target pal-dvcd video_finale.mpg

17.將.avi壓縮成VCD mpeg2

NTSC格式:

ffmpeg -i video_origine.avi -target ntsc-vcd video_finale.mpg

PAL格式:

ffmpeg -i video_origine.avi -target pal-vcd video_finale.mpg

18.多通道編碼

ffmpeg -i fichierentree -pass 2 -passlogfile ffmpeg2pass fichiersortie-2

19.從flv提取mp3

ffmpeg -i source.flv -ab 128k dest.mp3

第四組

1、將文件當(dāng)做直播送至live

ffmpeg -re -i localFile.mp4 -c copy -f flv rtmp://server/live/streamName

2、將直播媒體保存至本地文件

ffmpeg -i rtmp://server/live/streamName -c copy dump.flv

3、將其中一個(gè)直播流,視頻改用h264壓縮,音頻不變,送至另外一個(gè)直播服務(wù)流

ffmpeg -i rtmp://server/live/originalStream -c:a copy -c:v libx264 -vpre slow -f flv rtmp://server/live/h264Stream

4、將其中一個(gè)直播流,視頻改用h264壓縮,音頻改用faac壓縮,送至另外一個(gè)直播服務(wù)流

ffmpeg -i rtmp://server/live/originalStream -c:a libfaac -ar 44100 -ab 48k -c:v libx264 -vpre slow -vpre baseline -f flv rtmp://server/live/h264Stream

5、將其中一個(gè)直播流,視頻不變,音頻改用faac壓縮,送至另外一個(gè)直播服務(wù)流

ffmpeg -i rtmp://server/live/originalStream -acodec libfaac -ar 44100 -ab 48k -vcodec copy -f flv rtmp://server/live/h264_AAC_Stream

6、將一個(gè)高清流,復(fù)制為幾個(gè)不同視頻清晰度的流重新發(fā)布,其中音頻不變

ffmpeg -re -i rtmp://server/live/high_FMLE_stream -acodec copy -vcodec x264lib -s 640×360 -b 500k -vpre medium -vpre baseline rtmp://server/live/baseline_500k -acodec copy -vcodec x264lib -s 480×272 -b 300k -vpre medium -vpre baseline rtmp://server/live/baseline_300k -acodec copy -vcodec x264lib -s 320×200 -b 150k -vpre medium -vpre baseline rtmp://server/live/baseline_150k -acodec libfaac -vn -ab 48k rtmp://server/live/audio_only_AAC_48k

7、功能一樣,只是采用-x264opts選項(xiàng)

ffmpeg -re -i rtmp://server/live/high_FMLE_stream -c:a copy -c:v x264lib -s 640×360 -x264opts bitrate=500:profile=baseline:preset=slow rtmp://server/live/baseline_500k -c:a copy -c:v x264lib -s 480×272 -x264opts bitrate=300:profile=baseline:preset=slow rtmp://server/live/baseline_300k -c:a copy -c:v x264lib -s 320×200 -x264opts bitrate=150:profile=baseline:preset=slow rtmp://server/live/baseline_150k -c:a libfaac -vn -b:a 48k rtmp://server/live/audio_only_AAC_48k

8、將當(dāng)前攝像頭及音頻通過DSSHOW采集,視頻h264、音頻faac壓縮后發(fā)布

ffmpeg -r 25 -f dshow -s 640×480 -i video=”video source name”:audio=”audio source name” -vcodec libx264 -b 600k -vpre slow -acodec libfaac -ab 128k -f flv rtmp://server/application/stream_name

9、將一個(gè)JPG圖片經(jīng)過h264壓縮循環(huán)輸出為mp4視頻

ffmpeg.exe -i INPUT.jpg -an -vcodec libx264 -coder 1 -flags +loop -cmp +chroma -subq 10 -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -flags2 +dct8x8 -trellis 2 -partitions +parti8x8+parti4x4 -crf 24 -threads 0 -r 25 -g 25 -y OUTPUT.mp4

10、將普通流視頻改用h264壓縮,音頻不變,送至高清流服務(wù)(新版本FMS live=1)

ffmpeg -i rtmp://server/live/originalStream -c:a copy -c:v libx264 -vpre slow -f flv “rtmp://server/live/h264Stream live=1〃

文/騷之哈塞給(作者)

分享標(biāo)題:html5ffmpeg的簡(jiǎn)單介紹
本文網(wǎng)址:http://chinadenli.net/article40/dsdepeo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供、網(wǎng)站策劃、商城網(wǎng)站、外貿(mào)建站、移動(dòng)網(wǎng)站建設(shè)企業(yè)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營(yíng)