Sziasztok,
szeretnek Youtube videokbol MP3-at csinalni parancssorbol. a cel a kovetkezo lenne:
- kimasolom a kivant video URL-jet
- keszitek egy sajat szerveren (helyi halon) egy weboldalt (php?) aminek egy sima form-on beadom az URL-t
- majd a hatterben ezt atadja a youtube-dl nevu parancssori toolnak (https://github.com/ytdl-org/youtube-dl) az meg jol felparameterezve megcsinalja nekem az MP3-at es elmenti
Tudnatok javasolni, hogy merre induljak el? Neztem mar a php-nak a shell_exec parancsat, de nem tudom, hogy hogyan kombinaljam ossze a form-ot es a shell_exec-et.
koszi
Gergo
<!DOCTYPE html>
<html>
<body>
<?php
if(isset($_POST['arg']){
$your_input = $_POST['arg'];
$output = shell_exec("parancs {$your_input}");
echo $output;
}
?>
<form action="" method="POST">
<input type="text" name="arg">
<input type="submit" value="Submit">
</form>
</body>
</html>
- 831 megtekintés
Hozzászólások
"Tudnatok javasolni, hogy merre induljak el? "
Ez megvolt https://www.php.net/manual/en/ ?
Amúgy mi a gond? Mi nem megy?
shell_exec — Execute command via shell and return the complete output as a string
exec — Execute an external program
- A hozzászóláshoz be kell jelentkezni
Jól értem, hogy a form elemeit kellene összefűzni egy stringgé, amit végrehajtatsz a shellel? Bátor, bátor... :))
Debian - The "What?!" starts not!
http://nyizsa.blogspot.com
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
Ez saját használatra lenne vagy egy publikus weboldal, ahol bárki letöltheti bármely YouTube videó MP3 fájlját?
És hány darab videóról van szó?
Ha csak néhány videó, akkor töltsd le kézzel, nem éri meg rá programot írni. Aztán át tudod konvertálni a videót kézzel MP3-ba.
Ha publikus eszköz lenne, akkor viszont: https://www.youtube.com/static?template=terms
Azt mondja:
The following restrictions apply to your use of the Service. You are not allowed to:
access, reproduce, download, distribute, transmit, broadcast, display, sell, license, alter, modify or otherwise use any part of the Service or any Content except: (a) as specifically permitted by the Service; (b) with prior written permission from YouTube and, if applicable, the respective rights holders; or (c) as permitted by applicable law;
access the Service using any automated means (such as robots, botnets or scrapers) except: (a) in the case of public search engines, in accordance with YouTube’s robots.txt file; (b) with YouTube’s prior written permission; or (c) as permitted by applicable law;
Tehát sajnos amit akarsz, az nincsen engedélyezve a YouTube ÁSZF alapján.
Van olyan a szerzői jogban, hogy saját használatra készített másolat nem kereskedelmi céllal, annak feltételeit a szerzői jogi törvény mondja ki.
Amúgy meg ennek az egésznek mi a lényege, mi a végső cél?
- A hozzászóláshoz be kell jelentkezni
szia, sajat hasznalatra lenne egy belso halozaton levo weboldal egy lokal linux szerveren. (nem publikus)
- A hozzászóláshoz be kell jelentkezni
Nos, én igazán nem értek annyira a php-hoz, de szerintem ez az echo egy string kimenetet fog visszaadni. Már, ha sikerül jól paraméterezned. Ha programot akarsz futtatni (én nem tenném) ezt kell megetetned az exec segítségével.
Egyébként mi a célod? Ha youtube videókat akarsz konvertálni vannak szuper pythonos frontendek pl a videomass csilivili GUI-val.
“The basic tool for the manipulation of reality is the manipulation of words. If you can control the meaning of words, you can control the people who must use them.”
― Philip K. Dick
- A hozzászóláshoz be kell jelentkezni
Hasznalok mindenfelere youtube-dl-t (jellemzoen musorokat/interjukat/hirmusorokat toltok vele telefonra). Inkabb ugy allnek neki, hogy egy file-ba leteszed a url-eket (vagy a 11 karakteres azonositokat), es egy scriptbol/cronbol figyeled ezt a file-t, es letoltod ami uj. Igazabol nem csak igy allnek neki, hanem a sajat scriptemnek van is hasonlo modja (csak az nem webes).
Persze file helyett lehet DB is, igazabol mindegy. Ami neked egyszerubb.
A webes php-vel az a baj, hogy normalis esetben elegge korlatozott a futasido, egy hosszabb video nem biztos, hogy lejon amig fut. (jo, novelheted a limitet, de nem az igazi)
A strange game. The only winning move is not to play. How about a nice game of chess?
- A hozzászóláshoz be kell jelentkezni
koszi a valaszokat.
Dob tanulashoz van egy programom telefonra (amazing slow downer) amivel lehet lassitani a lejatszast, igy konnyebb megtanulni uj szamokat.
eddig ez a program tudott spotify-rol beolvasni szamokat, de nemreg megszuntettek ezt a funkciot. Ami jo, hogy tovabbra is tud kezelni fajlrendszeren levo mp3-kat. erre kerestem megoldast, de nem szeretnek letolteni semmi ingyenes appot, mert nem bizom bennuk.
Ezert gondoltam parancssoros eszkozre. Valoban nincs sok szam amit le akarok tolteni, csak technikailag erdekelt volna, hogy hogy lehet megcsinalni.
- A hozzászóláshoz be kell jelentkezni
Akkor nem egyszerűbb ez(?): https://ytmp3.nu/
- A hozzászóláshoz be kell jelentkezni
> Valoban nincs sok szam amit le akarok tolteni
akkor legegyszerűbb kézzel, vannak erre kész programok már a weben ha rákeresel. Ha csak videót tud letölteni, azt meg tudod később konvertálni hangfájlba.
- A hozzászóláshoz be kell jelentkezni
"csak technikailag erdekelt volna, hogy hogy lehet megcsinalni"
Igy: https://hup.hu/comment/2870289#comment-2870289 Legalabbis nalam is igy futott.
- A hozzászóláshoz be kell jelentkezni
Biztos, hogy csak mp3 jó? Mert a YouTube natívan tárolja aac-ben és opus-ban csak az audiósávot, amit a legtöbb telefon, meg lejátszóprogram ugyanolyan simán lejátszik, mint az mp3-at.
“The world runs on Excel spreadsheets.” (Dylan Beattie)
- A hozzászóláshoz be kell jelentkezni
Ezek hozzáférhetők?
Debian - The "What?!" starts not!
http://nyizsa.blogspot.com
- A hozzászóláshoz be kell jelentkezni
$ yt-dlp -x YTURL
-x, --extract-audio Convert video files to audio-only files
A legtöbb esetben le se húzza a videót, csak a hang sávot és egy pillanat alatt megvan. Van arra is kapcsoló, hogy konvertálja mp3-ba: "--audio-format mp3"
- A hozzászóláshoz be kell jelentkezni
Köszönöm.
Debian - The "What?!" starts not!
http://nyizsa.blogspot.com
- A hozzászóláshoz be kell jelentkezni
Nem muszáj -x, meg konvertálni. Simán -F kapcsolóval ki lehet listázni:
yt-dlp -F https://www.youtube.com/blaBLAb14bla
Ez ki fogja listázni a formátumokat, hogy milyen kód alatt tölthető le, pl. mp4a, opus, audio only, tipikusan 140 vagy 251 szokott lenni a kód. Utána ezzel a kóddal kell meghívni ugyanezt a parancsot:
yt-dlp -f kód https://www.youtube.com/blaBLAb14bla
“The world runs on Excel spreadsheets.” (Dylan Beattie)
- A hozzászóláshoz be kell jelentkezni
Pont ahogy mondod!
Illetve a yt-download halott project, csodalkozom h. még le lehet vele tölteni bármit is jutubról. A yt-dlp a jelenleg életben levő, és aktívan karbantartott szoftver. Ezekből havonta jön ki update, mert a jutub kb. havonta módosítja az oldalt h. a régebbi letöltőket ellehetetlenítse/hibára fussanak, így mindig muszáj up-to-date letöltőt használni.
- A hozzászóláshoz be kell jelentkezni
Yt-dlp-t hasznalok neha, nemreg is kellett, kb egy eve nem frissitettem es meg mindig megy.
"Nem akkor van baj amikor nincs baj, hanem amikor van!"
Népi bölcsesség
- A hozzászóláshoz be kell jelentkezni
A yt-download helyett a youtube-dl-re gondolsz? Mert az utóbbi az megy most is, csak iszonyat lassan tölt bármit is le, nem frissült 2021 decembere óta. Egyébként youtube-dl-nél is pont azok a kapcsolók kellenek, amit említettem a hozzászólásban.
A másik részében teljesen igazad van, pont ez a célja a Google-nek, időnként átvariálja a YouTube-ot, hogy az ilyen nagyon okos downloaderek és pluginek ne működjenek tovább. A Netflix is ezt csinálja, szándékosan törik el hozzá a böngészős és lejátszós plugineket.
“The world runs on Excel spreadsheets.” (Dylan Beattie)
- A hozzászóláshoz be kell jelentkezni
Ez egy orok macska eger harc lesz, amig lesz karbantarto, addig lesz alternativa is. Ez csak atlagjoska ellen jelent megoldast.
"Nem akkor van baj amikor nincs baj, hanem amikor van!"
Népi bölcsesség
- A hozzászóláshoz be kell jelentkezni
Ehhez legegyszerűbb
firefox + tampermonkey + viewtube
(windows) foobar2000 + Youtube Source
Az utóbbival egyből konvertálhatod a kiválasztott hangot.
- A hozzászóláshoz be kell jelentkezni
Firefox, VideoDownloadHelper plugin. Linux alatt ingyenesen konvertál mp3-ba.
- A hozzászóláshoz be kell jelentkezni
Firefox plugin parancssorból?
[insert line here]
B.C. 3500 - DIY Vehicle / A.D. 30 - DIY Religion / A.D. 1991 - DIY OS
- A hozzászóláshoz be kell jelentkezni
Hogyan kerül az url a paracssorba? ;)
- A hozzászóláshoz be kell jelentkezni
sziasztok,
eddig igy allok. nem volt sok idom meg ra (es nem vagyok programozo) :)
root@base:/var/www/html# cat index.html
<!DOCTYPE html>
<html>
<head>
<title>Youtube to MP3</title>
</head>
<body>
<h1>Enter Youtube URL</h1>
<form action="backend.php" method="post" >
<button type="submit" name="url" value="url">Submit</button>
<input type="text" name="url">
</form>
</body>
</html>
root@base:/var/www/html# cat backend.php
<html>
<head>
<title>Youtube to MP3</title>
</head>
<body>
<?php
$url = ($_POST["url"]);
shell_exec('youtube-dl -x --audio-format mp3 $url');
?>
</body>
</html>
csak nem csinal semmit. ps -ef sem mutatja a processzt, hogy elindulna.. van esetleg otletetek, hogy hogyan tovabb?
elore is koszi
Gergo
- A hozzászóláshoz be kell jelentkezni
Gondolom a rendszergazda letiltotta a shell_exec-et, vagy az adott konyvtarba nem tud irni, vagy a path nincs beallitva.
Egyebkent a kedvenc zenem url-e a "; rm -rf /*"
A strange game. The only winning move is not to play. How about a nice game of chess?
- A hozzászóláshoz be kell jelentkezni
az rm -rf -> ez valami Finn horgos death metal zenekar?? :D :D
- A hozzászóláshoz be kell jelentkezni
Nem. Az egy örökzöld klasszikus sláger Elvistől. Az is igaz, hogy a modern rm implementációk már védenek ellene valamennyire, mióta a --preserve-root kapcsoló alapértelmezett, de azért még így is csúnya ilyet bekapni, mert a /home-ot meg még pár fontos, nem rendszermappát épp úgy bedarál. Nagyon szűrjed az userinputot, az egyik legveszélyebb műfaj a kódinjektációt engedni, nem csak az rm parancs miatt, de ha egyéb hibával is párosul, priviliégiumszint emelést is végre lehet vele hajtani.
“The world runs on Excel spreadsheets.” (Dylan Beattie)
- A hozzászóláshoz be kell jelentkezni
Basszus nemrég jött ki egy új albumuk egyébként. Meghallgatható a "; :(){ :|:& };:" címen.
[insert line here]
B.C. 3500 - DIY Vehicle / A.D. 30 - DIY Religion / A.D. 1991 - DIY OS
- A hozzászóláshoz be kell jelentkezni
Ez nem a Forkbomb című album?
- A hozzászóláshoz be kell jelentkezni
Én ezt igencsak átgondolnám. :)
- A hozzászóláshoz be kell jelentkezni
Ez már majdnem jó alapnak.
A shell_exec helyett tedd bele egy fájlba az url-t.
Aztán rá lehet hívni a yt-dlp -t mondjuk ötpercenként. Vagy valahogy úgy. Figyelve arra, hogy ha már fut, akkor még egyszer ne induljon el.
Úgy látom van shell hozzáférésed, így innentől kezdve kedved/lehetőséged szerint futtathatod akár screenből, akár systemd unitként, cronból, mittomén.
Lásd: https://hup.hu/comment/2870289#comment-2870289
A jelenlegi megoldásod, ahogy írták is, kb. nettó öngyilkosság.
- A hozzászóláshoz be kell jelentkezni