本文目錄一覽:
- 1、使用 python 實現高幀率、低延時、支持多個 iOS 設備同時屏幕共享的工具
- 2、python如何模擬登錄Github
- 3、請問下載了github上的python文件後打不開怎麼辦?
- 4、Github里下載了fanficfare的代碼,在python里怎麼調用?
- 5、怎樣使用GitHub?
- 6、去哪裡找python的開源項目
使用 python 實現高幀率、低延時、支持多個 iOS 設備同時屏幕共享的工具
前段時間發布了一個 python 獲取 iOS 性能數據的文章,也算開了個小口子能在獲取 iOS 測試數據上更加方便了些,如果對 iOS 性能相關興趣可以移步:
屏幕共享和遠控平台現在發展也比較火熱,但是 iOS 設備在畫面同步和視頻錄製上,一直都沒有一個比較不錯的方案,也簡單調研了下之前可以獲取到 iOS 屏幕數據的方法:
該項目是 python 實現可以通過 USB 連接 iOS 設備進行屏幕共享,支持:
項目地址: 先點個小星星吧
usb 連接你的 iOS 手機,解鎖並信任喲(手機鎖屏不行)
每個 usb 連接設備時都會有一些配置信息,我們數據交互時,會使用某個配置與 usb 設備進行交互,這裡用個 iOS 設備舉例:
當我們使用 LibUsb 這個庫 獲取 iOS USB 設備信息時可以獲取到配置信息 bNumConfigurations 5 個, 下面部分信息片段:
事實上在 iOS USB 級別上還有個隱藏配置信息,用來傳輸屏幕音視頻相關數據,pyhton 開啟方式 device.ctrl_transfer(0x40, 0x52, 0, 2, b”) 發送了這個指令之後,再次獲取配置信息時,就會發現 bNumConfigurations 的數量變成了6個,多出來這個配置信息就是我們要使用的,使用這個 USB 配置,並連接相應埠後,就能傳輸音視頻畫面了
雖然我們使用這個音視頻傳輸配置,但是這個配置下面還有多個 INTERFACE 介面,但是只有 bInterfaceSubClass=0x2A 這個介面才是需要用的,因此要還需要定位到這個配置下,然後會看到 INTERFACE 下面還有兩個埠 ENDPOINT 0x86: Bulk IN(用來接收數據)和 ENDPOINT 0x5: Bulk OUT(用來發送數據),到此 usb 設置相關基本完成了
如果想分析 usb 數據的話執行: sudo ifconfig XHC20 up 命令後使用 wiershark 抓網卡 XHC20 就可以看到 部分 usb 數據交互
大概流程
前面交互完成後就能正式接收音視頻消息了
如果想具體了解相關傳輸報文協議可以查看下方鏈接,本項目是參考這個大佬文章,最終使用 python 來實現的
今日份的知識已攝入~
想了解更多前沿測試開發技術,結識行業大牛:
歡迎關注「第十屆MTSC大會·上海」
1個主會場+12大專場,大咖雲集精英齊聚
12個專場包括:
知乎、物流、開源、遊戲、酷家樂、音視頻、客戶端
服務端、數字經濟、效能提升、質量保障、智能化測試
python如何模擬登錄Github
首先進入github登錄頁:
輸入賬號密碼,打開開發者工具,在Network頁勾選上Preserve Log(顯示持續日誌),點擊登錄,查看Session請求,找到其請求的URL與Form Data、Headers。此時除Cookies與authenticity_token無法直接獲得外,其餘模擬登錄所需參數皆已獲得。
我們進入登錄頁點擊登錄後,瀏覽器會向伺服器發送這些信息,所以這些信息是在登錄頁就已設置好的。所以我們在登錄頁源碼中搜索authenticity_token,果然找到了它的值。在Response-Headers中觀察到有一個set-cookies的欄位,這個就是設置cookies的過程。下面給出代碼示例。
相關推薦:《Python視頻教程》
請問下載了github上的python文件後打不開怎麼辦?
一般你clone到本地後,可以運行pip install ./執行安裝(setup.py是框架自動調用的)
然後再調用裡面的方法查重
Github里下載了fanficfare的代碼,在python里怎麼調用?
這個庫的文檔確實寫得不咋樣 但大概看了下,是下載小說的
這個庫已經上傳到了pypi了,你直接pip install –upgrade FanFicFare就可以用了
安裝後,命令行fanficfare -h 就可以看到用法,
也可以看這個代碼,裡面可以看見需要預先配置一些ini文件
網頁鏈接
怎樣使用GitHub?
Git 是一個管理你的「代碼的歷史記錄」的工具。GitHub主要用Rails實現。我們在進行的post-commit集成小應用完全使用Merb編寫。我們使用了Python的Pygments來做格式高亮顯示,另外,還用了Ara T. Howard’s Bj加上一些Ruby腳本來做我們的排隊系統。當然,我們用了Ruby Grit庫來和Git進行交互。GitHub已經有了一組引人注目的特性,除了命令式的庫瀏覽器和一個項目Wiki,GitHub甚至還包括了一個GitHub gem,以使通過shell方式使用GitHub更為方便。更多的未來特性已經在計劃中︰許多人都希望能有一個條目系統,因此一個簡單的條目系統已經在開發中。此外,正如我前面所言,我們尚在進行RubyGems伺服器和一些之前留出的post-commit鉤子方面的工作。如果你不能或就是不想託管一個你自己的守護進程,你可以使用我們所提供的。
去哪裡找python的開源項目
GitHub是一個面向開源及私有軟體項目的託管平台,因為只支持git 作為唯一的版本庫格式進行託管,故名GitHub。作為開源代碼庫以及版本控制系統,Github擁有超過900萬開發者用戶。隨著越來越多的應用程序轉移到了雲上,Github已經成為了管理軟體開發以及發現已有代碼的首選方法。在GitHub,用戶可以十分輕易地找到海量的開源代碼。
下面給大家介紹一些GitHub上25個開源項目:
(1)TensorFlow Models
如果你對機器學習和深度學習感興趣,一定聽說過TensorFlow。TensorFlow Models是一個開源存儲庫,可以找到許多與深度學習相關的庫和模型。
(GitHub: )
(2)Keras
Keras是一個高級神經網路API,用Python編寫,能夠在TensorFlow,CNTK或Theano之上運行。旨在完成深度學習的快速開發(GitHub: )
(3)Flask
Flask 是一個微型的 Python 開發的 Web 框架,基於Werkzeug WSGI工具箱和Jinja2 模板引擎,使用BSD授權。
(GitHub: )
(4)scikit-learn
scikit-learn是一個用於機器學習的Python模塊,基於 NumPy、SciPy 和 matplotlib 構建。,並遵循 BSD 許可協議。
(GitHub: )
(5)Zulip
Zulip是一款功能強大的開源群聊應用程序,它結合了實時聊天的即時性和線程對話的生產力優勢。Zulip作為一個開源項目,被許多世界500強企業,大型組織以及其他需要實時聊天系統的用戶選擇使用,該系統允許用戶每天輕鬆處理數百或數千條消息。Zulip擁有超過300名貢獻者,每月合併超過500次提交,也是規模最大,發展最快的開源群聊項目。
(GitHub: )
相關推薦:《Python入門教程》
(6)Django
Django 是 Python 編程語言驅動的一個開源模型-視圖-控制器(MVC)風格的 Web 應用程序框架,旨在快速開發出清晰,實用的設計。使用 Django,我們在幾分鐘之內就可以創建高品質、易維護、資料庫驅動的應用程序。
(GitHub: )
(7)Rebound
Rebound 是一個當你得到編譯錯誤時即時獲取 Stack Overflow 結果的命令行工具。 就用 rebound 命令執行你的文件。這對程序員來說方便了不少。
(GitHub: )
(8)Google Images Download
這是一個命令行python程序,用於搜索Google Images上的關鍵字/關鍵短語,並可選擇將圖像下載到您的計算機。你也可以從另一個python文件調用此腳本。
(GitHub: )
(9)YouTube-dl
youtube-dl 是基於 Python 的命令行媒體文件下載工具,完全開源免費跨平台。用戶只需使用簡單命令並提供在線視頻的網頁地址即可讓程序自動進行嗅探、下載、合併、命名和清理,最終得到已經命名的完整視頻文件。
(GitHub: htt ps://github.com/rg3/youtube-dl )
(10)System Design Primer
此repo是一個系統的資源集合,可幫助你了解如何大規模構建系統。
(GitHub: )
(11)Mask R-CNN
Mask R-CNN用於對象檢測和分割。這是對Python 3,Keras和TensorFlow的Mask R-CNN實現。該模型為圖像中對象的每個實例生成邊界框和分割蒙版。它基於特Feature Pyramid Network(FPN)和 ResNet101 backbone。
(GitHub: )
(12)Face Recognition
Face Recognition 是一個基於 Python 的人臉識別庫,使用十分簡便。這還提供了一個簡單的face_recognition命令行工具,可以讓您從命令行對圖像文件夾進行人臉識別!
(GitHub: )
(13)snallygaster
用於掃描HTTP伺服器上的機密文件的工具。
(GitHub: )
(14)Ansible
Ansible是一個極其簡單的IT自動化系統。它可用於配置管理,應用程序部署,雲配置,支持遠程任務執行和多節點發布 – 包括通過負載平衡器輕鬆實現零停機滾動更新等操作。
(GitHub: )
(15)Detectron
Detectron是Facebook AI 研究院開源的的軟體系統,它實現了最先進的目標檢測演算法,包括Mask R-CNN。它是用Python編寫的,由Caffe2深度學習框架提供支持。
(16)asciinema
終端會話記錄器和asciinema.org的最佳搭檔。
(GitHub: )
(17)HTTPie
HTTPie 是一個開源的命令行的 HTTP 工具包,其目標是使與Web服務的CLI交互儘可能人性化。它提供了一個簡單的http命令,允許使用簡單自然的語法發送任意HTTP請求,並顯示彩色輸出。HTTPie可用於測試,調試以及通常與HTTP伺服器交互。
(GitHub: )
(18)You-Get
You-Get是一個小型命令行實用程序,用於從Web下載媒體內容(視頻,音頻,圖像),支持國內外常用的視頻網站。
(GitHub: )
(19)Sentry
Sentry從根本上講是一項服務,可以幫助用戶實時監控和修復崩潰。基於Django構建,它包含一個完整的API,用於從任何語言、任何應用程序中發送事件。
(GitHub: )
(20)Tornado
Tornado是使用Python開發的全棧式(full-stack)Web框架和非同步網路庫,,最初是由FriendFeed上開發的。通過使用非阻塞網路I / O,Tornado可以擴展到數萬個開放連接,是long polling、WebSockets和其他需要為用戶維護長連接應用的理想選擇。
(GitHub: )
(21)Magenta
Magenta是一個探索機器學習在創造藝術和音樂過程中的作用的研究項目。這主要涉及開發新的深度學習和強化學習演算法,用於生成歌曲,圖像,繪圖等。但它也是構建智能工具和界面的探索,它允許藝術家和音樂家使用這些模型。
(GitHub: )
(22)ZeroNet
ZeroNet是一個利用比特幣的加密演算法和BitTorrent技術提供的不受審查的網路,完全開源。
(GitHub: )
(23)Gym
OpenAI Gym是一個用於開發和比較強化學習演算法的工具包。這是Gym的開源庫,可讓讓你訪問標準化的環境。
(GitHub: )
(24)Pandas
Pandas是一個Python包,提供快速,靈活和富有表現力的數據結構,該工具是為了解決數據分析任務而創建的。Pandas 納入了大量庫和一些標準的數據模型,提供了高效地操作大型數據集所需的工具。此外,它還有更廣泛的目標,即成為所有語言中最強大,最靈活的開源數據分析/操作工具。它目前已經朝著這個目標邁進。
(GitHub: )
(25)Luigi
Luigi 是一個 Python 模塊,可以幫你構建複雜的批量作業管道。處理依賴決議、工作流管理、可視化展示等等,內建 Hadoop 支持。(GitHub: )
原創文章,作者:GFBV,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/149949.html