Ein Beitrag ĂŒber ein Skript, das Videos von YouTube herunterlĂ€dt und darin enthaltenen Text erkennt. Ich beschloss, sofort mit der praktischen Umsetzung zu beginnen. "Vdudictionary" - Skriptsammler der Sammlung von Zitaten der Helden "Vdud" in Python. Yuri Dud und sein Projekt âVdudâ brauchen keine EinfĂŒhrung. Die heiĂesten Interviews, die interessant zu sehen sind. Juri Alexandrowitsch weiĂ, wie man eine interessante Show macht, unabhĂ€ngig davon, ob Sie den Helden eines bestimmten Themas kennen, sein Fan sind oder diesen Namen zum ersten Mal hören.
Wie viele cm hast du? Was sagst du zu Putin? Hörst du OXY?
Diese und viele andere Fragen sind jetzt mit Dudem verbunden. Wenn der Befragte einen Satz voller Weisheit ausspricht, zeigen die fĂŒrsorglichen Redakteure ihn sorgfĂ€ltig auf dem Bildschirm unserer Monitore an, um uns den ganzen Punkt zu vermitteln. Mein Ziel war es, diese Weisheit der Generationen zu kristallisieren und das Wörterbuch âVdudexiconâ oder âVdudictionaryâ zu erstellen.
NatĂŒrlich muss eine Person, auch wenn sie nicht mit einem bestimmten IT-Hintergrund belastet ist, diese SprĂŒche nicht mit den HĂ€nden sammeln. DafĂŒr habe ich ein Python-Skript entworfen.

ZunÀchst benötigen wir eine Datei, die wir verarbeiten werden. Um Videos von Youtube herunterzuladen, habe ich das Pytube-Modul verwendet.
pip install pytube
Ein Beispiel fĂŒr das Herunterladen einer Datei von YouTube
from pytube import YouTube a=YouTube('https://www.youtube.com/watch?v=RNbXm8WKmow') a.streams.first().download()
Die Datei wurde heruntergeladen. Jetzt werden wir beginnen, Rahmen mit einer konzentrierten Bedeutung, mit der Weisheit der Zeitgenossen, mit den SprĂŒchen der Helden unserer Zeit methodisch zu bestimmen.

In Àlteren Versionen gab es keine rechteckige Platte, sodass wir am unteren Bildschirmrand nach Text suchen können. In neuen Versionen können Sie mit demselben guten alten OpenCV nach einem Rechteck suchen, mit dem Sie einen Frame aus einem Video abrufen können.
a,contours,h = cv2.findContours(gray3, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE) for i in contours: cv2.drawContours(gray3,[i],0,(0,0,255),1)
Um cv2 fĂŒr python3 auf raspberry3 zu installieren, mussten aufgrund von AbhĂ€ngigkeiten viele Pakete installiert werden. Vielleicht sind einige Pakete redundant, das liegt an meiner Unerfahrenheit, so hat alles angefangen.
sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev sudo apt-get -y install libopencv-dev sudo apt-get -y install build-essential checkinstall cmake pkg-config yasm sudo apt-get -y install libtiff4-dev libjpeg-dev libjasper-dev sudo apt-get -y install libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev libxine-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev sudo apt-get -y install python-dev python-numpy sudo apt-get -y install libtbb-dev sudo apt-get -y install libqt4-dev libgtk2.0-dev sudo apt-get -y install libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev pip install opencv-python
Wir setzen tesseract - dies ist eine OCR-Engine, die fĂŒr die optische Texterkennung erforderlich ist.
sudo apt-get install tesseract-ocr sudo pip3 install pytesseract sudo pip3 install tesseract
Die Releases verwenden ein sehr spezifisches Headset, was die Erkennung erschwert. Im Allgemeinen installieren wir ein
Wörterbuch fĂŒr das kyrillische Alphabet. Laden Sie es herunter und ĂŒbertragen Sie es nach / usr / share / tesseract-ocr / tessdata.

Das Skript am Eingang erhĂ€lt die Adresse des Videos auf youtube. Es lĂ€dt eine Datei herunter und beginnt in 5 Sekunden mit der Verarbeitung eines Frames. Wenn sich im Rahmen ein Quadrat befindet, schneiden Sie es aus, verfĂ€rben Sie es, erhöhen Sie den Kontrast und erkennen Sie es. Wenn die Zeichenfolge weniger als 15 Zeichen enthĂ€lt, berĂŒcksichtigen Sie sie nicht. Sie können natĂŒrlich eine Zeichenfolge mit weniger als 15 Zeichen verwenden, aber wie eine der Heldinnen des Programms sagte:
-Ich weiĂ nicht, Jungs, wie du mit kleinen Linien lebst.Wir haben in die Protokolldatei Text, Zeit und einen Link zum Moment auf youtube eingefĂŒgt. Wir ĂŒberspringen 5 Sekunden (fragen Sie nicht, warum diese Zahl zum ersten Mal in den Sinn kam. Bei der ĂberprĂŒfung wurde keine Ăberlappung zweier AnfĂŒhrungszeichen innerhalb dieser Zeit festgestellt). Sie können die Videodatei löschen und mit der nĂ€chsten Version fortfahren.
VollstĂ€ndiger Skriptcode:Python 3-Skript import cv2 import pytesseract import numpy as np from pytube import YouTube import os nameofvideo="RNbXm8WKmow" a=YouTube('https://www.youtube.com/watch?v='+nameofvideo) a.streams.first().download() title=a.title title2=title.replace("/","").replace(",","").replace(".","")+".mp4" os.rename(title2, "youtubefile.mp4") print(title) f=open('/var/www/python/'+str(nameofvideo)+'.txt','w') f.write(title+"<br>") f.write('<table><tr><td></td><td></td><td></td></tr>') spisoksimvolovpodudalenie=["*","/","|","\\",")","(","}","{","+","`","~","â","",":","$","#","@","%","[","]","&","^","' "] def udaleniesimvolov(stroka): for element in spisoksimvolovpodudalenie: stroka=stroka.replace(element,"") return stroka vidcap = cv2.VideoCapture('youtubefile.mp4') vidcap.set(cv2.CAP_PROP_POS_AVI_RATIO,1) durationsec=int(vidcap.get(cv2.CAP_PROP_POS_MSEC)/1000) print("duration: "+str(durationsec)+" sec") for thissec in range(0,durationsec,5): vidcap.set(cv2.CAP_PROP_POS_MSEC,thissec*1000) success,image = vidcap.read() gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) gray2 = cv2.addWeighted( gray, 1.5, gray, 0, 0.5) gray3 = gray2[450:670,0:1280] if success: print(str(thissec)+" sec.") text = udaleniesimvolov(pytesseract.image_to_string(gray3, lang='rus')) if len(text)>15: print (text) f.write('<tr><td>'+str(thissec)+'</td><td>'+text+'</td><td><a href="https://www.youtube.com/watch?v='+nameofvideo+"&t="+str(thissec)+'"></a></td></tr>') print("----") f.write('</table>') f.close()
SkriptbeispielTolokonnikova - BisexualitÀt, GESICHT, GefÀngnis / vDud
Zeit c. | Zitat | |
95 | âAKTIVISTEN SOLLTEN DAS MENTOBE NICHT HASSEN. SIE MĂSSEN VERSUCHEN, ZU VERSTEHEN, DASS DER CENT EIN CENT IST "
| â |
195 | PETER VERZILOV - TEILNEHMER AN PUSSY RIOT EHEMALIGE EHEMANN HOFFNUNG TOLOKONNIKOVA
| â |
255 | Ekaterina Samutsevich | â |
570 | Ich liebe Strickwaren! | â |
595 | 'vLADMTSR sorbyPn â
| â |
990 | PETER VERZILOV IN DER JUGEND LEBTE IN JAPAN ZUSAMMEN MIT DEN ELTERN. PETERS VATER - NUKLEARER PHYSIKER
| â |
995 | PETER VERZILOV IN DER JUGEND LEBTE IN JAPAN ZUSAMMEN MIT DEN ELTERN. PETERS VATER - NUKLEARER PHYSIKER
| â |
1270 | 11. SEPTEMBER 2018 PETER vrzipov wurde ins Krankenhaus eingeliefert Giftabteilung Klinisches Krankenhaus der Stadt
| â |
1275 | 15. September wurde von privaten Flugzeugen geliefert AN DIE BERLIN CLINIC SASTE
| â |
1280 | 18. SEPTEMBER 2018 BERLIN DOKTOREN Vielmehr wurde VERZILOV von SCOPOLAMIN vergiftet. 26. SEPTEMBER WURDE AUS DER BERLINER KLINIK ENTLADEN
| â |
1285 | 18. SEPTEMBER 2018 BERLIN DOKTOREN ERKLĂRT Vielmehr wurde VERZILOV von SCOPOLAMIN vergiftet. 26. SEPTEMBER WURDE AUS DER BERLINER KLINIK ENTLADEN
| â |
1395 | "MEDIAZONE" - intravrnvt-eddniv ĂŒber die Gerichte, Verhaftung und Russland. Meistens in St. 2014 im Jahr HOFFNUNGEN tol_okonnikovoy und MARIEI Alekhinoi
| â |
1590 | âWenn etwas eine beĂ€ngstigende Preisliste ist? Nonsendchit, ' dass Sie von sich selbst mĂŒssen
| â |
1760 | yoko ono - ĂFFENTLICHE FIGUR, WIDOW OF JOE "... PE VIZE, KĂNSTLER,
| â |
2040 | âWENN JEMAND WĂTENDE ELTERN IST, Dies ist eher der Grund fĂŒr Respekt! - "
| â |
2330 | "INTERNE MAMMA"
| â |
2425 | CITY OF KITEGE - EINE SONNENFRONT-STADT, HABEN DER Legende nach PASSIERT, IM OVERNY-TEIL DER NIZHNY-NOVGOROD-REGION, AN DEN STRĂNDEN DES SVETLOYAR-SEES
| â |
2515 | âWIR ZEIGEN LOBSER und helfen zdvlichiny und SCHREIBER »
| â |
2550 | JETZT IN RIGIDER GEGENSTAND RUSSLANDS âș. '' LEBT UND ARBEITET IN DEN USA
| â |
2745 | TOLOKONNIKOVA IM GEFĂNGNIS 661 TAG ĂBERGEGANGEN. . VOM 3. MĂRZ 2012 BIS 23. DEZEMBER 2013 Bei md.
| â |
2985 | VPTSN - BEDINGUNGEN FĂR SLENG LGBT COMMUNITY MAN-LIKE GIRL 'â 00 SCHILDER
| â |
2990 | VTsTSN - BEDINGUNGEN FĂR SLENG _ MANNĂ€hnliches MĂ€dchen der LGBT-GEMEINSCHAFT MIT EINEM HAARSCHNITT "UNTER DEM JUNGEN"
| â |
3280 | "SO RUSSISCHE ZEIT" GUT ; B?
| â |
3290 | SHIZO - STRAFISOLATOR. ABTEILUNG DER KORREKTURINSTITUTION, WO DIE KAMERAS FĂR DEN INHALT DES KONTINUIERLICHEN MODUS BEFINDET SIND. MANN IM STRAFISOLATOR, WESENTLICH AUF RECHTE BESCHRĂNKT ââș, - "
| â |
3315 | "MANN, der lange sitzt", E; ERNEUERT sein Leben wieder â; 3
| â |
3510 | Nach der Förderung im Tempel Christi - '' Der Zahler wurde bestimmt und DREI TEILNEHMER VON RPZZU KUT VERURTEILT HOFFNUNG TOLOKONNIKOVA, MARIA ALEKHIN UND YEKATERINA SAMUTSEVICH
| â |
3540 | EKATERINA SAMUTS ZWEI JAHRE BEDINGT ERHALTEN
| â |
3660 | âDie JUGEND ist wild traumatisiert. __ __ dass die Mehrwertsteuer keine EXKLUSIVE Ăberziehung aufweist â; ''
| â |
3740 | HOFFNUNG TOLOKONIKOVA ZWEI ANGEKĂNDIGTE JUNGERJAGD IN DER MORDOVY-KOLONIE Nr. 14 ĂBER DIE ĂBERSETZUNG AN EINEM ANDEREN STRAFORT
| â |
4275 | SPRACHE ĂBER RZZU RUT TEILT MEDIZINIST GEHT IN DAS SPIEL »_ IM SCHLUSS DER WELTMEISTERSCHAFT 2018 IN MOSKAU
| â |
4495 | âč '' "KOMBINATION VON SPIEL UND POSITION"
| â |
4735 | âWENN ICH EINEN SCHLECHTEN REIM UND GUT HABE, Ich werde schlecht wĂ€hlen
| â |
4755 | "ZOO GESCHICHTE"
| â |
4800 | BERNIE SANDERS - KANDIDAT FĂR US NAME_PRESIDENT IN DEN WAHLEN 2016_ODA. VERLOREN PRIMERISIEREN HIPPARI CLINTON DEMO - - | â |
4820 | . FALSCH MIT IN WIRKLICHKEIT _umvdiv speak nd RAznBŃkh linguistics
| â |
4865 | "Zdorny Joggen"
| â |
5055 | »" " "REP ist ein VerstÀndnis der RealitÀt"
| â |
Das Skript hat offensichtlich einige Probleme beim Erkennen der âspezifischenâ WOOD-Schriftart. Ich sehe eine Lösung fĂŒr dieses Problem darin, die Wörterbuchdatei fĂŒr OCR fertigzustellen und Text ĂŒber PyEnchant nachzubearbeiten.
Mit ein wenig Verfeinerung kann dieses Skript verwendet werden, um nach eingebetteten Untertiteln zu suchen, diese zu erkennen und automatisch in eine andere Sprache zu ĂŒbersetzen.
Wenn Sie Yuri ermutigen können, mehr ĂŒber dieses Experiment zu erfahren, tun Sie dies bitte unverzĂŒglich. #habr #vdudictionary
VK ,
FB .
Vielen Dank fĂŒr Ihre Aufmerksamkeit! Das Drehbuch und der Beitrag sind das Ergebnis eines Fantasy-Fluges, als ich OpenCV fĂŒr mein
Golfball-Picking-Roboterprojekt studierte .