目的是能使用Python進行rtmp推流,方便在h264幀里加入彈幕等操作。librtmp使用的是0.3.0,使用樹莓派noir官方攝像頭適配的。通過wireshark抓ffmpeg的包一點點改動,最終可以在red5和斗魚上推流了。沒怎么寫過python,有不恰當的地方請包涵。上代碼:#--coding:utf-8--#http://blog.csdn.net/luhangleiimportpicameraimporttimeimporttraceback
系統(tǒng) 2019-09-27 17:47:12 1884
#堆排序defheap_sort(arr):root=len(arr)//2-1while(root>=0):heap_adjust(arr,root,len(arr)-1)root=root-1#此時生成的大頂堆,滿足每個根節(jié)點為子樹中最大,因此,之后只需要對最頂的子樹進行調整i=len(arr)-1whilei>=0:arr[0],arr[i]=arr[i],arr[0]heap_adjust(arr,0,i-1)i=i-1defheap_adjust
系統(tǒng) 2019-09-27 17:45:50 1884
保證只能運行一個腳本實例,方法是程序運行時監(jiān)聽一個特定端口,如果失敗則說明已經有實例在跑。使用裝飾器實現(xiàn),便于重用復制代碼代碼如下:importfunctoolsdefjust_one_instance(func):'''裝飾器如果已經有實例在跑則退出復制代碼代碼如下::return:'''@functools.wraps(func)deff(*args,**kwargs):importsockettry:#全局屬性,否則變量會在方法退出后被銷毀globa
系統(tǒng) 2019-09-27 17:45:27 1884
importsubprocessoutput=Popen(["mycmd","myarg"],stdout=PIPE).communicate()[0]importsubprocessp=subprocess.Popen(['ls','-a'],stdout=subprocess.PIPE,stderr=subprocess.PIPE)out,err=p.communicate()printout#workonUnix/Linuxonlyimportcom
系統(tǒng) 2019-09-27 17:45:26 1884
Pythonsocket網絡編程初學python,前段時間買了兩本書《python編程從入門到實踐》《Python核心編程第三版》,第一本書主要講的是一些基本語法和一些基本的使用方法,而第二本則深入很多,自己看來也是一知半解,剛好看到了這部分網絡編程,依然有好多不太理解的地方,不過想來通過自己不斷的摸索,不斷地搜尋資料學習,早晚應該會變得通透吧.......這部分主要使用的模塊就是socket模塊,在這個模塊中可以找到socket()函數,該函數用于創(chuàng)建套
系統(tǒng) 2019-09-27 17:38:34 1884
少勞多得Decorator與Python之前引入的元編程抽象有著某些共同之處:即使沒有這些技術,您也一樣可以實現(xiàn)它們所提供的功能。正如MicheleSimionato和我在可愛的Python專欄的早期文章中指出的那樣,即使在Python1.5中,也可以實現(xiàn)Python類的創(chuàng)建,而不需要使用“元類”掛鉤。Decorator根本上的平庸與之非常類似。Decorator所實現(xiàn)的功能就是修改緊接Decorator之后定義的函數和方法。這總是可能的,但這種功能主要是
系統(tǒng) 2019-09-27 17:38:33 1884
心血來潮寫了個多線程抓妹子圖,雖然代碼還是有一些瑕疵,但是還是記錄下來,分享給大家。Pic_downloader.py#-*-coding:utf-8-*-"""CreatedonFriAug0717:30:582015@author:Dreace"""importurllib2importsysimporttimeimportosimportrandomfrommultiprocessing.dummyimportPoolasThreadPooltype
系統(tǒng) 2019-09-27 17:38:32 1884
hasattr(object,name)作用:判斷對象object是否包含名為name的特性(hasattr是通過調用getattr(ojbect,name)是否拋出異常來實現(xiàn)的)。示例:>>>hasattr(list,'append')True>>>hasattr(list,'add')Falsegetattr(object,name,default):作用:返回object的名稱為name的屬性的屬性值,如果屬性name存在,則直接返回其屬性值;如果屬
系統(tǒng) 2019-09-27 17:38:20 1884
本文實例講述了Python實現(xiàn)從Web的一個URL中抓取文檔的方法,分享給大家供大家參考。具體方法分析如下:實例代碼如下:importurllibdoc=urllib.urlopen("http://www.python.org").read()printdoc#直接打印出網頁defreporthook(*a):printa#將http://www.renren.com網頁保存到renre.html中,#每讀取一個塊調用一字reporthook函數urll
系統(tǒng) 2019-09-27 17:38:18 1884
我們都知道并發(fā)(不是并行)編程目前有四種方式,多進程,多線程,異步,和協(xié)程。多進程編程在python中有類似C的os.fork,當然還有更高層封裝的multiprocessing標準庫,在之前寫過的python高可用程序設計方法中提供了類似nginx中masterprocess和workerprocess間信號處理的方式,保證了業(yè)務進程的退出可以被主進程感知。多線程編程python中有Thread和threading,在linux下所謂的線程,實際上是LW
系統(tǒng) 2019-09-27 17:38:17 1884