999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于FFMPEG的視頻水印系統設計

2018-04-13 01:07:02宋燕燕
計算機技術與發展 2018年4期
關鍵詞:信息系統

宋燕燕,秦 軍

(中國傳媒大學南廣學院,江蘇 南京 211172)

0 引 言

計算機與網絡信息技術的快速發展,促使當今社會進入了網絡信息時代,各個領域的數據和信息急劇增多。數字媒體的安全問題也極大地制約了當前信息化進程,數據的版權保護問題日益凸顯,因此數字水印技術應運而生。數字水印技術是將一些標識信息直接嵌入在數字媒體元素中,且不影響原載體的使用價值。數字水印是保護信息安全、實現防偽溯源、版權保護的有效辦法[1]。當前的媒體形式中,最能吸引眼球的是視頻文件,如何對視頻文件進行有效保護已經成為十分迫切的研究課題。視頻的格式有很多種,所以,相同的水印算法在不同種視頻中,并不一定兼容。文中設計的系統的意義在于,可以根據不同的編碼過程在程序中加以調整,使得在同一個平臺上進行多種格式視頻水印的嵌入和提取,避免了給不同格式的視頻單獨調用編解碼庫構建仿真平臺的麻煩。實現了一種基于FFMPEG的視頻水印系統,使得各種編碼格式的視頻水印算法都能在同一個仿真平臺通用。

1 相關技術

FFMPEG是一套可以用來記錄、轉換數字音頻、視頻,并能將其轉化為流的開源計算機程序。它提供了錄制、轉換以及編解碼功能的完整解決方案[2-5],包含了非常先進的音頻/視頻編解碼庫libavcodec。為了保證高可移植性和編解碼質量,libavcodec里很多編解碼方式都是從頭開發的[6-9]。

FFMPEG支持MPEG,DivX,MPEG -4,AC3,DV,FLV等40多種編碼,以及AVI、MPEG、OGG、Matroska、ASF等90多種解碼,涵蓋了多種音視頻格式。FFMPEG也支持常見的圖像色彩空間,并且在libavswcale中定義了色彩空間轉換的相關函數,實現了各種色彩模式的相互轉換[10-12]。

SDL(simple direct-media layer)是一套開放源代碼的跨平臺多媒體開發庫,使用C語言編寫。SDL提供了數種控制圖像、聲音、輸出、輸入的函數,讓開發者只要用相同或相似的代碼就可以開發出跨多個平臺(Linux、Windows、Mac OS X等)的應用軟件。目前SDL多用于開發游戲、模擬器、媒體播放器等多媒體應用領域[13-15]。

2 系統方案

視頻水印系統主要分為三個模塊:輸入模塊、處理模塊和輸出模塊,各模塊之間通過調用各個接口進行交互,使得功能更加完善,使用起來更加契合[11]。

1.輸入模塊。

(1)內存管理。

內存管理的主要功能就是將選中的視頻文件信息寫入內存,并且通過一系列的操作將視頻數據提供給FFMEPG的解碼器。

(2)解碼。

解碼主要是對視頻解碼,文中對音頻信息不作處理。視頻解碼主要的內容就是將之前存入內存的數據信息通過FFMPEG的解碼器進行解碼,解碼完成后送給SDL。并且利用SDL進行YUV數據顯示。

(3)渲染紋理。

負責把利用FFMPEG解碼獲得的YUV數據渲染到紋理中,再拷貝到渲染器,實現視頻成功顯示。

2.處理模塊。

利用FFMPEG中的過濾器的各種方法,給視頻加“特效”,而文中的特效就是圖片水印。FFMPEG的libavfilter類庫提供了大量的視音頻過濾器,種類繁多,有很多現成的filter可以直接使用,也給大家研究視頻播放器帶來了許多便捷。文中是在FFMPEG的libavfilter類庫的基礎上完成一個水印疊加器,利用Visual Studio 2015平臺加以實現。

可以將一張透明背景的圖片作為水印疊加到一個視頻文件上。需要注意的是,其疊加工作是在解碼后的YUV像素數據的基礎上完成的。程序支持使用SDL顯示疊加后的YUV數據,也可以將疊加后的YUV輸出成文件。

3.輸出模塊。

利用FFMPEG中封裝好的代碼,實現視頻的輸出。系統方案如圖1所示。

圖1 系統方案

3 視頻流解碼

每個視頻都有自己的封裝格式,而所謂封裝格式,也就是視頻的類型。比如:MP4、TS等。也就是說,在每個視頻的封裝格式中,都包含此視頻的各種信息,比如視頻流和音頻流等。對于有封裝格式的視頻,需要先從中提取出視頻流,然后通過解碼器解碼。例如解碼TS格式的視頻文件,就是“TS→H.264碼流→YUV”[4]。視頻流解碼流程如圖2所示。

圖2 視頻流解碼流程

(1)首先設定函數av_register_all()進行初始化,再設定avformat_open_input()方法打開文件,獲取視頻文件的封裝格式信息。其中需要判斷打開是否成功,如果不成功則顯示“無法打開視頻文件”。

(2)使用for循環,判斷流信息中哪個是視頻流信息,哪個是音頻流信息;找到視頻流后,尋找解碼器;找到解碼器后,使用avcodec_open2()打開解碼器。

(3)定義方法av_read_frame()獲取封裝格式AVPacker信息,再使用Avcodec_decode_video2()方法解碼AVPacker信息。若沒有獲取到AVPacker信息,則停止運行。

(4)若獲取到了AVPacker信息,則使用av_malloc()方法將YUV格式信息從內存中取出,填充到pAVFrameYUV中。

4 水印添加

視頻文件經過解碼、渲染等一系列工序之后,要將水印文件添加到視頻文件上。FFMPEG自帶的類庫中含有大量的過濾器,這些過濾器可以將一些文件信息轉碼。

AVFilter的基本處理流程如下:

(1)avfilter_register_all():注冊。

avfilter_graph_alloc():分配一個AVFilterGraph。

(2)創建AVFilterContext。

avfilter_graph_create_filter():創建filter。

(3)重復以上兩步,創建一個source,一個sink。

avfilter_graph_parse_ptr():將一串通過字符串描述的Graph添加到AVFilterGraph中。

avfilter_graph_config():檢查FilterGraph的配置。

av_buffersrc_add_frame():向FilterGraph中加入一個AVFrame。

av_buffersink_get_frame():從AVFilterGraph中取出一個AVFrame。

(4)重復以上兩步,加入一個AVFrame處理AVFrame,取出AVFrame。

以上就是AVFilter的處理流程,其他特效通過avfilter_graph_parse_ptr(filter_graph,filters_descr,&inputs,&outputs,NULL)中filters_descr這個字符串來決定,調用FFMPEG提供的方法和傳入了符合格式的過濾字串。

具體流程如圖3所示。

圖3 視頻水印添加流程

5 運行結果

基于FFMPEG的視頻水印系統已完成,系統運行環境:Windows 2007系統;平臺:Visual Studio 2015。

首先在Visual Studio中運行系統,如圖4所示,可以看到左部的圖片是默認圖片,點擊“打開文件”,選擇一個視頻文件進行添加,而文中選擇了一部后綴名為.ts的視頻進行添加,視頻添加后左部默認圖片會變成視頻文件的首幀畫面。

點擊“播放”按鈕,視頻可以正常播放,而點擊“暫?!卑粹o,視頻文件會停在當前幀,點擊“停止”按鈕,視頻會停止播放并且恢復到默認圖片。

實現一張水印圖片,點擊“選擇水印”按鈕,選中該圖片,選中后會呈現于界面上,用戶可以查看是否選擇正確。

點擊“加水印”按鈕,系統會自動將圖片水印加入視頻文件畫面中,并且添加完畢會自動導出到項目文件,導出的視頻格式類型是.yuv。并且在添加完成后,會有彈框提示,提醒用戶已經完成水印添加,并且已經導出。

圖4 運行結果

6 結束語

從數字媒體元素版權保護需求出發探討了視頻水印系統設計方案,利用FFMPEG編解碼庫解決視頻水印算法中的編解碼問題,實現H.264的視頻解碼功能,包括ts、mp4等視頻格式。提出了FFMPEG轉碼圖形用戶界面的具體實現方法,介紹了FFMPEG轉碼加密模塊的流程、函數調用關系、具體加密算法的實現和視頻播放模塊的具體實現。利用模塊化思想,為不同編碼格式的視頻水印算法提供一個通用平臺,對視頻的版權保護起到了積極作用,具有一定的現實意義和參考價值。

參考文獻:

[1] CHANG X,WANG W,ZHAO J,et al.A survey of digital video watermarking[C]//Seventh international conference on natural computation.[s.l.]:[s.n.],2011:61-65.

[2] 任 嚴,韓 臻,劉 麗.基于FFMPEG的視頻轉換與發布系統[J].計算機工程與設計,2007,28(20):4962-4963.

[3] 王 彤.基于FFmpeg的H.264解碼器實現[D].大連:大連理工大學,2011.

[4] CHENG Yun,LIU Qingtang,ZHAO Chengling,et al.Design and implementation of mediaplayer based on FFmpeg[J].Software Engineering and Knowledge Engineering,2012,2:867-874.

[5] ZENG Hao,FANG Yuan.Implementation of video transcoding client based on FFMPEG[J].Advanced Materials Research,2013,756-759:1748-1752.

[6] 辛長春,婁小平,呂乃光.基于FFmpeg的遠程視頻監控系統編解碼[J].電子技術,2013(1):3-5.

[7] 張國慶.基于FFmpeg的視頻轉碼與保護系統的設計與實現[D].武漢:華中師范大學,2011.

[8] 李芳芳,蘇凱雄.基于FFmpeg的H.264格式轉換器的設計與實現[J].電視技術,2016,40(7):32-35.

[9] 胡 聰,周 甜,唐璐丹.基于FFMPEG的跨平臺視頻編解碼研究[J].武漢理工大學學報.2011,33(11):139-142.

[10] 吳 岳,施惠娟.基于FFMPEG的視頻水印系統[J].電子設計工程,2013,21(23):185-187.

[11] 胡 成,任平安,李文莉.基于Android系統的FFmpeg多媒體同步傳輸算法研究[J].計算機技術與發展,2011,21(10):85-87.

[12] LI Chengbo,JIANG Hong,WILFORD P,et al.Video coding using compressive sensing for wireless communications[C]//WCNC 2011.[s.l.]:IEEE,2011:2077-2082.

[13] 李 科,李 璐,蘭時勇.基于FFmpeg和SDL實現多路實時流變換及播放[J].計算機技術與發展,2014,24(4):65-68.

[14] 汪俊杰,王志明.基于SDL的H.264流媒體播放系統[J].計算機系統應用,2013,22(12):51-54.

[15] DUAN H,NG B P,CHONG M S S,et al.Applications of the SRV constraint in broadband pattern synthesis[J].Signal Processing,2008,88(4):1035-1045.

猜你喜歡
信息系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
信息
建筑創作(2001年3期)2001-08-22 18:48:14
健康信息
祝您健康(1987年3期)1987-12-30 09:52:32
主站蜘蛛池模板: 国产乱子伦精品视频| 中文字幕永久视频| 在线永久免费观看的毛片| 五月婷婷精品| 婷婷色婷婷| 中国精品久久| 亚洲中文字幕精品| 国产在线91在线电影| 国产欧美性爱网| 亚洲 日韩 激情 无码 中出| 伊人色天堂| 亚洲综合色婷婷中文字幕| 亚洲国产看片基地久久1024| 国产精品女同一区三区五区| 欧美成人国产| 亚洲欧美不卡中文字幕| 丰满少妇αⅴ无码区| 九九久久99精品| 国产精品女主播| 影音先锋丝袜制服| 中文无码影院| 成人午夜视频免费看欧美| 国产香蕉在线视频| 99热这里只有免费国产精品| 中文字幕亚洲综久久2021| 国产91精选在线观看| 国产欧美精品一区aⅴ影院| 在线观看亚洲精品福利片| 国产95在线 | 国产最爽的乱婬视频国语对白| a在线观看免费| 国产在线视频福利资源站| 久久国产精品麻豆系列| 麻豆AV网站免费进入| 91精品国产自产91精品资源| 欧美日韩v| 亚洲美女操| 欧美午夜久久| 国产精品9| 国产高清免费午夜在线视频| 国产永久在线观看| 亚洲综合在线最大成人| 日韩欧美在线观看| 99久久国产精品无码| 国产Av无码精品色午夜| 一级毛片a女人刺激视频免费| 成人亚洲视频| 亚洲高清无在码在线无弹窗| 国产真实乱了在线播放| 亚洲欧州色色免费AV| 操国产美女| 2019年国产精品自拍不卡| 国产日韩av在线播放| 久久精品中文字幕免费| 2018日日摸夜夜添狠狠躁| 狼友视频一区二区三区| 日韩a级毛片| 亚洲第一成网站| 精品超清无码视频在线观看| 亚洲日本一本dvd高清| 日本免费精品| 欧美精品成人一区二区视频一| 色综合成人| 国产香蕉在线视频| 国产麻豆va精品视频| 亚洲动漫h| 九色视频线上播放| 欧美笫一页| 国产麻豆永久视频| 日本欧美在线观看| 一本大道香蕉中文日本不卡高清二区 | 午夜影院a级片| 超碰aⅴ人人做人人爽欧美| 亚洲无卡视频| 国产一区二区免费播放| 色综合久久久久8天国| 成人免费一区二区三区| 精品久久香蕉国产线看观看gif | 不卡的在线视频免费观看| 久无码久无码av无码| 欧美国产日本高清不卡| 婷婷丁香色|