Samer Alashqar نشر 16 يوليو 2022 أرسل تقرير نشر 16 يوليو 2022 السلام عليكم .. اريد تحميل مقاطع من اليوتيوب عن طريق رابط المقطع لكن لا اعرف كيف الطريقة هل هناك api استطيع الاتصال به ؟ اتمنى المساعدة 2 اقتباس
0 عمر قره محمد نشر 16 يوليو 2022 أرسل تقرير نشر 16 يوليو 2022 وعليكم السلام، هنالك package خاصة بهذا الأمر تسمى youtube-dl npm install youtube-dl طريقة تحميل الفيديو باستخدامها : const fs = require('fs') const youtubedl = require('youtube-dl') const video = youtubedl('http://www.youtube.com/watch?v=90AiXO1pAiA', // Optional arguments passed to youtube-dl. ['--format=18'], // Additional options can be given for calling `child_process.execFile()`. { cwd: __dirname }) // Will be called when the download starts. video.on('info', function(info) { console.log('Download started') console.log('filename: ' + info._filename) console.log('size: ' + info.size) }) video.pipe(fs.createWriteStream('myvideo.mp4')) يمكنك معاينت صفحتها على npm من هنا 1 اقتباس
0 Samer Alashqar نشر 16 يوليو 2022 الكاتب أرسل تقرير نشر 16 يوليو 2022 بتاريخ 41 دقائق مضت قال عمر قره محمد: وعليكم السلام، هنالك package خاصة بهذا الأمر تسمى youtube-dl npm install youtube-dl طريقة تحميل الفيديو باستخدامها : const fs = require('fs') const youtubedl = require('youtube-dl') const video = youtubedl('http://www.youtube.com/watch?v=90AiXO1pAiA', // Optional arguments passed to youtube-dl. ['--format=18'], // Additional options can be given for calling `child_process.execFile()`. { cwd: __dirname }) // Will be called when the download starts. video.on('info', function(info) { console.log('Download started') console.log('filename: ' + info._filename) console.log('size: ' + info.size) }) video.pipe(fs.createWriteStream('myvideo.mp4')) يمكنك معاينت صفحتها على npm من هنا قمت بتجربة هذا البكج لكن لايتم تحميله لدي لا اعلم لماذا Error: Invalid version range at module.exports (D:\Store project\node_modules\bin-version-check\index.js:12:25) at Object.<anonymous> (D:\Store project\node_modules\bin-version-check-cli\cli.js:29:1) at Module._compile (internal/modules/cjs/loader.js:1085:14) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10) at Module.load (internal/modules/cjs/loader.js:950:32) at Function.Module._load (internal/modules/cjs/loader.js:790:14) at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:76:12) at internal/main/run_main_module.js:17:47 npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! youtube-dl@3.5.0 check: `bin-version-check python '>=2'` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the youtube-dl@3.5.0 check script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. npm ERR! A complete log of this run can be found in: npm ERR! C:\Users\sloos\AppData\Roaming\npm-cache\_logs\2022-07-16T07_07_18_571Z-debug.log npm WARN rollback Rolling back arrify@1.0.1 failed (this is probably harmless): EPERM: operation not permitted, lstat 'D:\Store project\node_modules\minimist-options\node_modules'npm WARN rollback Rolling back got@11.8.5 failed (this is probably harmless): EPERM: operation not permitted, scandir 'D:\Store project\node_modules\youtube-dl\node_modules'npm WARN api-store-project@1.0.0 No repository field. npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.3.2 (node_modules\fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.3.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"}) npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! youtube-dl@3.5.0 postinstall: `npm run check && npm run download` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the youtube-dl@3.5.0 postinstall script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. npm ERR! A complete log of this run can be found in: npm ERR! C:\Users\sloos\AppData\Roaming\npm-cache\_logs\2022-07-16T07_07_18_876Z-debug.log اقتباس
0 عمر قره محمد نشر 16 يوليو 2022 أرسل تقرير نشر 16 يوليو 2022 قم بتنزيل python على جهازك وجرب مرة اخرى https://www.python.org/downloads/ وفي حال لم يعمل جرب : npm i --save --force youtube-dl 1 اقتباس
0 Samer Alashqar نشر 16 يوليو 2022 الكاتب أرسل تقرير نشر 16 يوليو 2022 بتاريخ 14 دقائق مضت قال عمر قره محمد: قم بتنزيل python على جهازك وجرب مرة اخرى https://www.python.org/downloads/ قمت بتنزيل بايثون ولم تحل المشكلة 1 اقتباس
0 عمر قره محمد نشر 16 يوليو 2022 أرسل تقرير نشر 16 يوليو 2022 بتاريخ 16 دقائق مضت قال Samer Alashqar: قمت بتنزيل بايثون ولم تحل المشكلة يبدو ان تم اهمال الـ package المسماة youtube-dl جرب هذه الـ package البديلة : youtube-dl-exec للتنزيل npm install youtube-dl-exec --save ملاحظة : ستحتاج لتحميل python3 قبل التنزيل لتحميل الفيديو const youtubedl = require('youtube-dl-exec') youtubedl('https://www.youtube.com/watch?v=6xKWiCMKKJg', { dumpSingleJson: true, noWarnings: true, noCallHome: true, noCheckCertificate: true, preferFreeFormats: true, youtubeSkipDashManifest: true, referer: 'https://www.youtube.com/watch?v=6xKWiCMKKJg' }).then(output => console.log(output)) صفحتها على npm اقتباس
0 Samer Alashqar نشر 16 يوليو 2022 الكاتب أرسل تقرير نشر 16 يوليو 2022 بتاريخ الآن قال عمر قره محمد: يبدو ان تم اهمال الـ package المسماة youtube-dl جرب هذه الـ package البديلة : youtube-dl-exec للتنزيل npm install youtube-dl-exec --save لتحميل الفيديو const youtubedl = require('youtube-dl-exec') youtubedl('https://www.youtube.com/watch?v=6xKWiCMKKJg', { dumpSingleJson: true, noWarnings: true, noCallHome: true, noCheckCertificate: true, preferFreeFormats: true, youtubeSkipDashManifest: true, referer: 'https://www.youtube.com/watch?v=6xKWiCMKKJg' }).then(output => console.log(output)) شكرا لك اخي عمل لدي بمجرد اضافة هذا الامر npm i --save --force youtube-dl اقتباس
0 سامح أشرف نشر 16 يوليو 2022 أرسل تقرير نشر 16 يوليو 2022 يمكنك إستعمال مكتبة ytdl-core والتي توفر لك إمكانية تحميل فيديوهات من اليوتيوب بأي جودة تختارها: عليك في البداية تثبيت الحزمة من خلال الأمر التالي: npm i ytdl-core@latest # أو إذا كنت تستعمل yarn yarn add ytdl-core@latest بعد ذلك يمكنك أن تقوم بإستخدامها بالشكل التالي: const fs = require('fs'); const ytdl = require('ytdl-core'); ytdl('https://www.youtube.com/watch?v=KKfAuQrwzTY') .pipe(fs.createWriteStream('video-file-name.mp4')); يمكن حتى إستعمالها لتحميل فيديوهات Shorts بنفس الطريقة: ytdl('https://www.youtube.com/shorts/h_ZoMlNjANY') .pipe(fs.createWriteStream('video-file-name-2.mp4')); يمكنك كذلك التحكم في جودة الفيديو الذي سيتم تحميله: const fs = require('fs'); const ytdl = require('ytdl-core'); ytdl('https://www.youtube.com/shorts/h_ZoMlNjANY', { quality: 'highest' }) .pipe(fs.createWriteStream('video.mp4')); 2 اقتباس
0 Samer Alashqar نشر 17 يوليو 2022 الكاتب أرسل تقرير نشر 17 يوليو 2022 بتاريخ 22 ساعات قال سامح أشرف: يمكنك إستعمال مكتبة ytdl-core والتي توفر لك إمكانية تحميل فيديوهات من اليوتيوب بأي جودة تختارها: عليك في البداية تثبيت الحزمة من خلال الأمر التالي: npm i ytdl-core@latest # أو إذا كنت تستعمل yarn yarn add ytdl-core@latest بعد ذلك يمكنك أن تقوم بإستخدامها بالشكل التالي: const fs = require('fs'); const ytdl = require('ytdl-core'); ytdl('https://www.youtube.com/watch?v=KKfAuQrwzTY') .pipe(fs.createWriteStream('video-file-name.mp4')); يمكن حتى إستعمالها لتحميل فيديوهات Shorts بنفس الطريقة: ytdl('https://www.youtube.com/shorts/h_ZoMlNjANY') .pipe(fs.createWriteStream('video-file-name-2.mp4')); يمكنك كذلك التحكم في جودة الفيديو الذي سيتم تحميله: const fs = require('fs'); const ytdl = require('ytdl-core'); ytdl('https://www.youtube.com/shorts/h_ZoMlNjANY', { quality: 'highest' }) .pipe(fs.createWriteStream('video.mp4')); كيف استطيع ان اجعل الفيديو يقوم بالتحميل على نفس الجهاز مثل الهاتف وليس على اللاب توب لدي (هوست الموقع) ؟ 1 اقتباس
0 Wael Aljamal نشر 17 يوليو 2022 أرسل تقرير نشر 17 يوليو 2022 بتاريخ 6 ساعات قال Samer Alashqar: كيف استطيع ان اجعل الفيديو يقوم بالتحميل على نفس الجهاز مثل الهاتف وليس على اللاب توب لدي (هوست الموقع) ؟ يمكنك اعتماد نفس الطريقة، مع تعديل بسيط. حفظ الفيديو على السيرفر لأن الانترنت لديك سيكون سريع توجيه الفيديو للمتصفح حذف الفيديو من التخزين المحلي على السيرفر خاصتك يمكنك اتباع هذه الشيفرة لإعادة توجيه الملف الذي حفظته في الخادم للمتصفح res.setHeader('Content-Type', 'video/mp4'); res.status(200).sendFile(full_path, function (err) { if (err) { ... } else { ... } }); ثم بعد نهايتها يمكنك حذف الملف بالدالة unlink من fs fs.unlink(path, (err) => { if (err) throw err //handle your error the way you want to; console.log('path/file.txt was deleted');//or else the file will be deleted }); ); 1 اقتباس
السؤال
Samer Alashqar
السلام عليكم ..
اريد تحميل مقاطع من اليوتيوب عن طريق رابط المقطع لكن لا اعرف كيف الطريقة هل هناك api استطيع الاتصال به ؟ اتمنى المساعدة
9 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.