Principales respuestas
YoutubeExtractor en CMD

Pregunta
-
hola a todos nuevamente, investigando en internet encontre este nugget muy particular que te permite descargar videos y convertir videos a mp3, lo que ocurre es que usando el ejemplo copie y pegue en un nuevo proyecto de CMD y me dio error , es posible que no necesariamente se tenga hacer en un form? ya que hay muchos tutoriales, pero me interesa es en linea de comandos (ventanita negra) cmd. si es asi como se plantearia la resolucion.
string link = "insert youtube link"; IEnumerable<VideoInfo> videoInfos = DownloadUrlResolver.GetDownloadUrls(link); VideoInfo video = videoInfos .First(info => info.VideoType == VideoType.Mp4 && info.Resolution == 360); if (video.RequiresDecryption) { DownloadUrlResolver.DecryptDownloadUrl(video); } var videoDownloader = new VideoDownloader(video, Path.Combine("D:/Downloads", video.Title + video.VideoExtension)); videoDownloader.DownloadProgressChanged += (sender, args) => Console.WriteLine(args.ProgressPercentage); videoDownloader.Execute(); ----------------parte de mp3------------------------------ VideoInfo video = videoInfos .Where(info => info.CanExtractAudio) .OrderByDescending(info => info.AudioBitrate) .First(); if (video.RequiresDecryption) { DownloadUrlResolver.DecryptDownloadUrl(video); } var audioDownloader = new AudioDownloader(video, Path.Combine("D:/Downloads", video.Title + video.AudioExtension)); audioDownloader.DownloadProgressChanged += (sender, args) => Console.WriteLine(args.ProgressPercentage * 0.85); audioDownloader.AudioExtractionProgressChanged += (sender, args) => Console.WriteLine(85 + args.ProgressPercentage * 0.15); /* * Execute the audio downloader. * For GUI applications note, that this method runs synchronously. */ audioDownloader.Execute();
dejo la web para mayor referencia https://github.com/flagbug/YoutubeExtractor
quiero colocarlo en consola de sistema para manipularlo con un sinthzspeech para dar la orden de "descargar video"
Respuestas
-
hola
>>usando el ejemplo copie y pegue en un nuevo proyecto de CMD y me dio error
que dice el mensaje de error ?
esta seguro que la libreria esta actualizada y es compatible con la api que expone youtube, porque recuerda que si la libreria es una version antigua puede que no sea compatible con nuevas versiones de youtube
saludos
Leandro Tuttini
Blog
MVP Profile
Buenos Aires
Argentina- Editado Leandro TuttiniMVP lunes, 27 de noviembre de 2017 18:01
- Marcado como respuesta Pablo RubioModerator viernes, 1 de diciembre de 2017 21:19
Todas las respuestas
-
hola
>>usando el ejemplo copie y pegue en un nuevo proyecto de CMD y me dio error
que dice el mensaje de error ?
esta seguro que la libreria esta actualizada y es compatible con la api que expone youtube, porque recuerda que si la libreria es una version antigua puede que no sea compatible con nuevas versiones de youtube
saludos
Leandro Tuttini
Blog
MVP Profile
Buenos Aires
Argentina- Editado Leandro TuttiniMVP lunes, 27 de noviembre de 2017 18:01
- Marcado como respuesta Pablo RubioModerator viernes, 1 de diciembre de 2017 21:19
-
-
en efecto termine de hacer el codigo siguiendo el tutorial , el programa corre pero no descarga y genera un error q no entiendo, te dejo el codigo y el video del cual me guie, y si es que ya esa dll no sirve para la fecha actual... tendre que descartarlo.
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.IO; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; using System.Windows.Forms; using YoutubeExtractor; namespace DownloadYouTube { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { cboResolution.SelectedIndex = 0; } private void btnDownload_Click(object sender, EventArgs e) { progressBar.Minimum = 0; progressBar.Maximum = 100; IEnumerable<VideoInfo> videos = DownloadUrlResolver.GetDownloadUrls(txtUrl.Text); VideoInfo video = videos.First(p => p.VideoType == VideoType.Mp4 && p.Resolution == Convert.ToInt32(cboResolution.Text)); if (video.RequiresDecryption) DownloadUrlResolver.DecryptDownloadUrl(video); VideoDownloader downloader = new VideoDownloader(video, Path.Combine(Application.StartupPath + "\\", video.Title + video.VideoExtension)); downloader.DownloadProgressChanged += Downloader_DownloadProgressChanged; Thread thread = new Thread(() => { downloader.Execute(); }) { IsBackground = true }; thread.Start(); } private void Downloader_DownloadProgressChanged(object sender, ProgressEventArgs e) { Invoke(new MethodInvoker(delegate () { progressBar.Value = (int)e.ProgressPercentage; lblPercentage.Text = $"{string.Format("{0:0.##", e.ProgressPercentage)}%"; progressBar.Update(); })); } } }
https://www.youtube.com/watch?v=TnG3urCD_m0
esto esta basado en windows forms no
wpf y mucho menos cmd(que es el que interesa aunque el wpf para poder agregar una barra visible y poder monitorear el progreso e la descarga, aunque en cmd seria tambien interesanto si es posible hacerlo)
- Editado RigorVzla lunes, 27 de noviembre de 2017 23:24
- Propuesto como respuesta Pablo RubioModerator martes, 28 de noviembre de 2017 15:56
- Votado como útil Pablo RubioModerator martes, 28 de noviembre de 2017 15:56
- Propuesto como respuesta Pablo RubioModerator jueves, 30 de noviembre de 2017 17:12
-
hola has revisado que no se falta de un codec? descarga el k-lite y revisa bien el codigo de git si necesita alguna dependencia, anyway here's another
aca hay otro codigo que descarga video de youtube que me parecio bueno https://github.com/jeckman/YouTube-Downloader
- Propuesto como respuesta Pablo RubioModerator martes, 28 de noviembre de 2017 15:56