এইচটিএমএল 5 ভিডিও ডাউনলোড হতে আটকাবেন (রাইট ক্লিক ক্লিক করে সংরক্ষণ করা হবে)?


171

ক্লায়েন্টদের ভিডিও ডাউনলোড করতে বাধা দেওয়ার জন্য আমি কীভাবে ব্রাউজারের ডান-ক্লিক মেনু থেকে "ভিডিও সংরক্ষণ করুন ..." অক্ষম করতে পারি?

আরও কি এমন সম্পূর্ণ সমাধান রয়েছে যেগুলি ক্লায়েন্টকে সরাসরি কোনও ফাইল পাথ অ্যাক্সেস করতে বাধা দেয়?


3
আমি এই প্রশ্নটি আপ-ভোট দিয়েছি কারণ এটি কেবলমাত্র এইচটিএমএল 5 ভিডিওর জন্য কীভাবে "ডান-ক্লিকটি অক্ষম করতে হবে" তার জন্য অনুরোধ করে। আমি নিশ্চিত নই যে এটি সাধারণ চিত্রগুলির জন্য ডান-ক্লিক অক্ষম করার মতো বা অন্য ওভারলে ট্রিকস ইত্যাদি রয়েছে, যা প্রয়োগ করা যেতে পারে similar

3
এমনকি আপনি ডান-ক্লিকটি অক্ষম করলেও তারা ব্রাউজার মেনু থেকে এটি সংরক্ষণ করতে পারে ( File→Save As)। এমনকি যদি আপনি কোনওরকম এটি অবরুদ্ধ করতে পারেন তবে তারা ফাইলের URL খুঁজে পাওয়ার উত্সটি দেখতে পারে। এমনকি আপনি যদি কিছুটা অস্পষ্ট করতে পারেন তবে তারা এটি ক্যাশে থেকে ছিঁড়ে ফেলতে পারে। এমনকি যদি আপনি এটি জটিল করে তুলতে পারেন (যেমন, স্ট্রিম), তারা কোনও স্নিফার বা অন্য কোনও কিছু দিয়ে নেটওয়ার্ক ট্র্যাফিক ক্যাপচার করতে পারে। আসল বিষয়টি হ'ল আপনি যদি এটি কোনও ব্যবহারকারীর কাছে প্রেরণ করেন তবে তারা এটি সংরক্ষণ করতে পারবেন। কোন উপায় না। আপনার যে প্রশ্নটি জিজ্ঞাসা করতে হবে তা হ'ল আপনার এটিকে এত খারাপভাবে কেন থামানো দরকার। এটি কি আসলেও প্রয়োজনীয়? এটি প্রচেষ্টা এবং ব্যবহারকারী-বন্ধুত্বপূর্ণ ess ness মূল্যবান?
Synetech

আমি দ্রুত বুনিয়াদি সমাধান হিসাবে TxRegex সেরা উত্তর পছন্দ করি।
jsherk

আমি এখানে পেডেন্টিক দেখতে যাচ্ছি, তবে আপনি "ডাউনলোড" শব্দটি ওভারলোড করছেন। আপনি অবশ্যই ভিডিওটি ডাউনলোড করার অনুমতি দিতে চান না
জোহান বুলি

উত্তর:


226

আপনি পারবেন না । এটি কারণ ব্রাউজারগুলি যা করতে ডিজাইন করেছিল: সামগ্রী পরিবেশন করুন । তবে আপনি এটি ডাউনলোড করা আরও কঠিন করে তুলতে পারেন

প্রথম জিনিসটির প্রথমটি, আপনি ইভেন্টটি অক্ষম করতে পারবেন , ওরফে "ডান ক্লিক"। এটি আপনার নিয়মিত স্কিডিটিকে ডান ক্লিক করে এবং সংরক্ষণ করুন হিসাবে আপনার ভিডিওটিকে স্পষ্টভাবে ফেরাতে বাধা দেবে। তবে তারপরে তারা কেবল জেএস অক্ষম করতে পারে এবং এটিকে পেতে পারে বা ব্রাউজারের ডিবাগারের মাধ্যমে ভিডিও উত্স খুঁজে পেতে পারে। প্লাস এটি খারাপ ইউএক্স। একটি কনটেক্সট মেনুতে বৈধ জিনিস প্রচুর আছে কেবলমাত্র সংরক্ষণ হিসাবে সংরক্ষণ করুন।contextmenu

আপনি কাস্টম ভিডিও প্লেয়ার লাইব্রেরিও ব্যবহার করতে পারেন। তাদের বেশিরভাগ ভিডিও প্লেয়ার প্রয়োগ করে যা আপনার পছন্দ অনুসারে প্রসঙ্গ মেনুটি কাস্টমাইজ করে। সুতরাং আপনি ডিফল্ট ব্রাউজারের প্রসঙ্গ মেনু পাবেন না। এবং যদি কখনও সেগুলি সংরক্ষণের মতো মেনু আইটেমটি পরিবেশন করে তবে আপনি এটি অক্ষম করতে পারেন। তবে আবার এটি একটি জেএস কর্মসূচী। দুর্বলতা পূর্ববর্তী বিকল্পের মতো।

এটি করার আরেকটি উপায় হ'ল এইচটিটিপি লাইভ স্ট্রিমিং ব্যবহার করে ভিডিওটি পরিবেশন করা । এটি মূলত যা করে তা হ'ল ভিডিওটিকে কিছু অংশে কাটা এবং একের পর এক পরিবেশন করা। বেশিরভাগ স্ট্রিমিং সাইটগুলি এইভাবে ভিডিও দেয়। সুতরাং আপনি যেমন সংরক্ষণ করুন তা পরিচালনা করেও আপনি পুরো ভিডিওটিই রাখেন না, কেবল কিছু অংশ সংরক্ষণ করেন। সমস্ত খণ্ডগুলি সংগ্রহ করতে এবং কিছু উত্সর্গীকৃত সফ্টওয়্যার ব্যবহার করে এগুলি সেলাই করতে আরও কিছুটা প্রচেষ্টা লাগবে।

আর একটি কৌশল আঁকা <video>হয়<canvas> । এই কৌশলটিতে, জাভাস্ক্রিপ্টের কিছুটা সহ, আপনি পৃষ্ঠাটিতে যা দেখছেন তা হ'ল <canvas>একটি লুকানো থেকে ফ্রেম সরবরাহ করে <video>। এবং কারণ এটি একটি <canvas>, প্রসঙ্গ মেনুটি কোনও মেনু ব্যবহার করবে <img>না, একটি নয় <video>। ভিডিও সংরক্ষণের পরিবর্তে আপনি একটি চিত্র সংরক্ষণ করুন পাবেন।

আপনি নিজের সুবিধার জন্য সিএসআরএফ টোকেনও ব্যবহার করতে পারেন । আপনি নিজের সেভারটি পৃষ্ঠায় একটি টোকেন প্রেরণ করতে চান। তারপরে আপনি আপনার ভিডিও আনার জন্য সেই টোকেনটি ব্যবহার করেন। আপনার সার্ভারটি ভিডিওটি পরিবেশন করার আগে এটি কোনও বৈধ টোকেন কিনা তা পরীক্ষা করে দেখায় বা একটি HTTP 401 পান । ধারণাটি হ'ল আপনি কেবলমাত্র একটি টোকেন রেখে একটি ভিডিও পেতে পারেন যা আপনি পৃষ্ঠা থেকে এসেছিলেন তবেই আপনি সরাসরি পেতে পারেন, সরাসরি ভিডিও ইউআরএল না গিয়ে।

দিনের শেষে, আমি কেবল আমার ভিডিওটি ইউটিউব বা ভিমিওর মতো একটি তৃতীয় পক্ষের ভিডিও সাইটে আপলোড করব। তাদের কাছে ভাল ভিডিও পরিচালনার সরঞ্জাম রয়েছে, ডিভাইসে প্লেব্যাক অনুকূলিতকরণ এবং তারা আপনার ভিডিওটি আপনার শেষের দিকে শূন্য প্রচেষ্টা দিয়ে ছিঁড়ে যাওয়া রোধ করার জন্য প্রচেষ্টা চালায়।


1
বিস্তারিত উত্তরের জন্য আপনাকে ধন্যবাদ, ডান ক্লিক মেনু থেকে কমপক্ষে সংরক্ষণের বিকল্পটি অক্ষম করা কি সম্ভব? এটি বেশিরভাগ বুনিয়াদি জ্ঞানের
অজগর

2
এটি ব্রাউজারের উপর নির্ভর করে। আমি অনেক সময় দেখেছি (বিশেষত ফায়ারফক্স এবং ক্রোম) ভিডিওটি যদি সম্পূর্ণরূপে লোড হয় তবে আপনি "সংরক্ষণ করুন" টিপলে তারা পুনরায় ডাউনলোডের পরিবর্তে ক্যাশে থেকে ভিডিওটি বেছে নেবে (ভিডিওটি ইতিমধ্যে ক্যাশে ডাউনলোড করা হয়েছে, কেন এটি ডাউনলোড করুন) আবার?), সুতরাং দ্বিতীয় অনুরোধ নেই। উপরের পদ্ধতিটি তখনই প্রযোজ্য যখন লিঙ্কটি পুনরায় ব্যবহার করা হবে।
জোসেফ

1
ভাল, আমি একটি নিবন্ধ পেয়েছি একটি ডিভের সাথে ভিডিও ট্যাগকে ওভারলাই করার বিষয়ে কথা বলছি। আমার উত্তর আপডেট করেছে
জোসেফ

2
ধন্যবাদ। আমি স্রেফ ক্রেফটাইমাইন্ড / ফ্যাক্টরি / html5video/ ক্যানভাসভিডিও html পড়েছি । ধারণাটি আপনার উত্তর হিসাবে প্রায় একই।
ট্রুং

1
@ কপিডভোগেল "ওয়ানটাইম ইউআরএল" একটি সার্ভারের এন্ডপয়েন্ট যা একটি সার্ভার উত্পন্ন টোকেন গ্রহণ করে। টোকেনটি পৃষ্ঠা তৈরির ভিত্তিতে উত্পন্ন হয় এবং ডিবিতে সংরক্ষণ করা হয়। এটি হিসাবে পৃষ্ঠার সাথে বিক্রী হয় srcএর <video>। আপনার পৃষ্ঠাটি লোড হওয়ার পরে, ডিবিতে টোকেন রয়েছে, পৃষ্ঠাটির টোকেন রয়েছে। একবার <video>লোড করা শুরু হয় (শেষ পয়েন্টটি অ্যাক্সেস করে), সার্ভারটি টোকেন ডিবিতে রয়েছে কিনা তা পরীক্ষা করে, এটি মুছে ফেলে এবং ফাইলটি প্রবাহিত করে। যদি দ্বিতীয় অ্যাক্সেসের ফলাফল হিসাবে টোকেনটি না থাকে তবে ফাইলটি প্রবাহিত করবেন না।
জোসেফ

118

এইচটিএমএল 5 ভিডিওগুলি থেকে ডান ক্লিক "সংরক্ষণ করুন" বিকল্পটি সরাতে ইচ্ছুকদের জন্য এটি একটি সহজ সমাধান

$(document).ready(function(){
   $('#videoElementID').bind('contextmenu',function() { return false; });
});

ওটা অসাধারণ ! ভিডিওটি ডাউনলোড করা থেকে সাধারণ মানুষকে আটকাতে এটি দুর্দান্ত কাজ করে!
এটিয়েন নোল

2
জাভাস্ক্রিপ্ট ব্রাউজারে অক্ষম থাকলে তবে এটি সাহায্য করবে না।
mvark

2
ধন্যবাদ, আমাদের সকল দর্শকদের 90% এর জন্য এই সমাধানটি যথেষ্ট।
কাই নোক

2
Bleh। ফায়ারবাগের উপাদানটি কেবলমাত্র পরীক্ষা করুন, srcবৈশিষ্ট্যটি দেখুন এবং এটি অন্য ট্যাবে খুলুন বা wgetএটি ডাউনলোড করতে ব্যবহার করুন !
সেক্সিবিস্ট

11
আমি মনে করি এটির মূল লক্ষ্য ভিডিওটি ডাউনলোড করতে "সাধারণ" ব্যবহারকারীদের এড়ানো। এই পরিস্থিতি সমাধানের জন্য এটি একটি ভাল সমাধান।
আনপেদ্রা

37

সহজ উত্তর,

আপনি পারবেন না

যদি তারা আপনার ভিডিওটি দেখছে তবে তাদের কাছে এটি ইতিমধ্যে রয়েছে

আপনি এগুলি ধীর করতে পারেন তবে তাদের থামাতে পারবেন না।


যাইহোক, এই উত্তরটি HTML5 ভিডিও, ফ্ল্যাশ ভিডিও বা ভবিষ্যতে আপনি কল্পনা করতে পারেন এমন কোনও প্রযুক্তির সাথে প্রযোজ্য। এটি সহজ: এটি কীভাবে কাজ করে তা।
গুস্তাভো রডরিগস

এবং ইউটিউব সম্পর্কে কী ?, ইউটিউবে আপনি ভিডিও ফাইলটি সহজে আবিষ্কার করতে পারবেন না। আমি বোঝাতে চাইছি যে, আপনি ঠিকই আছেন, আমরা পারি, তবে আমাদের সার্ভারে একটি সাধারণ এমপি 4 হোস্ট করার চেয়ে ইউটিউব বা অনুরূপ ভিডিও হোস্টিংয়ের এমপি 4 উত্সটি সহজেই আড়াল করা এবং এইচটিএমএল 5 প্লেয়ার ব্যবহার করা যায়।
dlopezgonzalez

2
এটি কোনও প্রশ্নেরই উত্তর নয়।
Tzshand

1
লোকেরা তাদের পুরো স্ক্রিন এবং অডিও রেকর্ড করতে পারে এবং সমস্ত কাজকে বোকা বানাতে পারে, এজন্যই কেবল তাদের ধীর করা যেতে পারে।
কিনসুকুরই

1
পছন্দ করুন ভাগ করে নেওয়ার জন্য ধন্যবাদ :)
স্টারেক্স

33

হ্যাঁ, আপনি তিনটি ধাপে এটি করতে পারেন:


  1. আপনি যে ফাইলগুলি সুরক্ষিত করতে চান সেগুলি আপনার ডিরেক্টরি পরিচালিত ডিরেক্টরিটির একটি উপ-ডিরেক্টরিতে রাখুন।

    www.foo.com/player.html
    www.foo.com/videos/video.mp4

  2. ".Htaccess" নামক উপ-ডিরেক্টরিতে একটি ফাইল সংরক্ষণ করুন এবং নীচের লাইনগুলি যুক্ত করুন।

    www.foo.com/videos/.htaccess

    #Contents of .htaccess
    
    RewriteEngine on
    RewriteCond %{HTTP_REFERER} !^http://foo.com/.*$ [NC]
    RewriteCond %{HTTP_REFERER} !^http://www.foo.com/.*$ [NC]
    RewriteRule .(mp4|mp3|avi)$ - [F]
    

এখন উত্সের লিঙ্কটি অকেজো , তবে আমাদের এখনও এটি নিশ্চিত করতে হবে যে কোনও ব্যবহারকারী ফাইল ডাউনলোড করার চেষ্টা করছেন সরাসরি ফাইলটি পরিবেশিত হতে পারে না।

  1. জন্য আরো একটি সম্পূর্ণ সমাধান , এখন একটি ফ্ল্যাশ প্লেয়ার (বা HTML ক্যানভাস) এবং কখনও ভিডিও সরাসরি লিঙ্ক সহ ভিডিও পরিবেশন করা। ডান ক্লিক মেনু সরাতে, আপনার এইচটিএমএল এ যুক্ত করুন:

    <body oncontextmenu="return false;">


ফলাফল:

www.foo.com/player.html ভিডিওটি সঠিকভাবে প্লে করবে তবে আপনি যদি www.foo.com/videos/video.mp4 যান তবে:

ত্রুটি কোড 403: নিখুঁত


এটি সরাসরি ডাউনলোড, সিআরএল, হটলিঙ্কিংয়ের জন্য কাজ করবে, আপনি এটির নাম দিন।

এটি জিজ্ঞাসিত দুটি প্রশ্নের সম্পূর্ণ উত্তর এবং প্রশ্নের উত্তর নয়: "আমি কি কোনও ব্যবহারকারীকে ইতিমধ্যে ডাউনলোড করা ভিডিও ডাউনলোড করতে বাধা দিতে পারি?"


1
দুর্দান্ত উত্তর, তবে আপনার কাছে একটি `যা আপনার .htaccessবিষয়বস্তু থেকে তা সরিয়ে দেওয়া উচিত
MAZux

2
আপনি এখনও এইচটিটিপি রেফারারকে জাল করতে পারেন, যা কোনও ব্যক্তিকে ডাউনলোড করার অনুমতি দেয়। তবে এটি একটি খুব চালাক সমাধান। আপনি যদি ফাইলে এককালীন কোড দিয়ে এটি ক্লাব করেন তবে আপনি ভাল হয়ে যাবেন!
শিরয়

এখনও মনে হচ্ছে এটি ডাউনলোড করতে পারে আইডিএম!
PersianMan

@ পারসিয়ানম্যান সঠিক - আমি আপনাকে প্রথম উত্তরগুলি পড়তে উত্সাহিত করি
Tzshand

1
আপনি যদি ব্রাউজার থেকে জাভাস্ক্রিপ্ট অক্ষম করেন, তবে এই কৌশলটি কাজ করবে না, তারপরে রাইট ক্লিক সক্ষম হয়ে যায়। এটি এড়াতে, আপনার jquery ব্যবহার করে গতিময়ভাবে ভিডিও উপাদান আনতে এবং লোড করা উচিত।
অনিন্দ্য শঙ্কর দাশগুপ্ত

23

আমি সাধারণত যেভাবে ব্যবহার করি তা সবচেয়ে সহজ উপায়, আমি সম্পূর্ণ পৃষ্ঠায় প্রসঙ্গ মেনু সম্পূর্ণরূপে অক্ষম করি, খাঁটি এইচটিএমএল + জাভাস্ক্রিপ্ট:

 <body oncontextmenu="return false;">

এটাই! আমি এটি করি কারণ আপনি সর্বদা ডান ক্লিকের মাধ্যমে উত্সটি দেখতে পাচ্ছেন।
ঠিক আছে, আপনি বলতে: "আমি সরাসরি ব্রাউজার উৎস দেখুন ব্যবহার করতে পারেন" এবং এটা সত্যি কিন্তু আমরা আসলে থেকে শুরু যে আপনার করতে পারবেন না ডাউনলোড বন্ধ html5ভিডিও।


আমি মনে করি soluciucn অবশ্যই এমন এক হতে পারে যা "সাধারণ" ব্যবহারকারীদের বিরক্ত করে না, ডান ক্লিকটি অক্ষম করে ব্যবহারকারীদের কিছু পাঠ্য অনুলিপি করতে এবং আটকাতে বা এমন একটি শব্দ অনুসন্ধান করতে বাধা দেয় যা উদাহরণস্বরূপ ভিডিওর শিরোনাম আন না, অবশ্যই না সমস্ত ব্যবহারকারী সম্ভবত এটি করবে তবে তাদের কারওর জন্য এটি বিরক্তিকর হতে পারে
জন বালভিন আরিয়াস

14

ক্লায়েন্ট-সাইড বিকাশকারী হিসাবে আমি ব্লব ইউআরএল ব্যবহার করার পরামর্শ দিই, ব্লব ইউআরএল একটি ক্লায়েন্ট-সাইড URL যা বাইনারি অবজেক্টকে বোঝায়

<video id="id" width="320" height="240"  type='video/mp4' controls  > </video>

এইচটিএমএলতে আপনার ভিডিওটি srcফাঁকা রাখুন, এবং জেএস এজেএক্স ব্যবহার করে ভিডিও ফাইল আনুন , প্রতিক্রিয়ার ধরণটি ব্লব হয়েছে তা নিশ্চিত করুন

window.onload = function() {
    var xhr = new XMLHttpRequest();
    xhr.open('GET', 'mov_bbb.mp4', true);
    xhr.responseType = 'blob'; //important
    xhr.onload = function(e) {
        if (this.status == 200) {
            console.log("loaded");
            var blob = this.response;
            var video = document.getElementById('id');
            video.oncanplaythrough = function() {
                console.log("Can play through video without stopping");
                URL.revokeObjectURL(this.src);
            };
            video.src = URL.createObjectURL(blob);
            video.load();
        }
    };
    xhr.send();
}

দ্রষ্টব্য: এই ফাইলটি বড় ফাইলের জন্য প্রস্তাবিত নয়

সম্পাদনা

  • সরাসরি ডাউনলোড এড়াতে ক্রস-অরিজিন ব্লকিং ব্যবহার করুন

  • ভিডিওটি যদি কোনও এপিআই দ্বারা সরবরাহ করা হয় তবে 'জিইটি' এর পরিবর্তে আলাদা পদ্ধতি (পুট / পোস্ট) ব্যবহার করুন


3
ইউটিউব এখন ব্লব ব্যবহার করে আমারও মনে হয় :)?
C0nw0nk

1
এখানে কী চলছে তা আরও পরিষ্কারভাবে এবং কীভাবে এর জন্য সার্ভার সেট আপ করবেন তা আপনি ব্যাখ্যা করতে পারেন?
অ্যান্থনি

1
ব্যবহারকারীরা ভিডিও ফরোয়ার্ড করার চেষ্টা করলে @nerdofcode কীভাবে আচরণ করে? সমস্ত ভিডিও ডাউনলোড না হওয়া পর্যন্ত তাদের কি অপেক্ষা করতে হবে?
জন বালভিন আরিয়াস

1
@JohnBalvinArias! আমি এই 100% পরীক্ষা করেছি না, তবে আমি এটি বলতে চাই যে এটির জন্য কেবলমাত্র একটি দ্রুত বাফার প্রয়োজন ... যদিও আমাকে এ সম্পর্কে উদ্ধৃতি দেবেন না ...
NerdOfCode

1
যদি আমি পৃষ্ঠাটি পরিদর্শন করি, তবে নেটওয়ার্ক ট্যাবে আমি একটি ভিডিওর জন্য একটি অনুরোধ পাই যা আমি কেবল একটি নতুন ট্যাবে খুলতে পারি।
সাইমন

10

পিএইচপি এইচটিএমএল 5 ভিডিও ট্যাগকে একটি সেশনের সাথে প্রেরণ করে যেখানে কীটি এলোমেলো স্ট্রিং এবং মানটি ফাইল নাম।

ini_set('session.use_cookies',1);
session_start();
$ogv=uniqid(); 
$_SESSION[$ogv]='myVideo.ogv';
$webm=uniqid(); 
$_SESSION[$webm]='myVideo.webm';
echo '<video autoplay="autoplay">'
    .'<source src="video.php?video='.$ogv.' type="video/ogg">'
    .'<source src="video.php?video='.$webm.' type="video/webm">'
    .'</video>'; 

এখন পিএইচপি থেকে ভিডিওটি পাঠাতে বলা হয়। পিএইচপি ফাইলের নাম পুনরুদ্ধার করে; সেশনটি মোছা এবং তাত্ক্ষণিকভাবে ভিডিও প্রেরণ করে। অতিরিক্তভাবে সমস্ত 'নো ক্যাশে' এবং মাইম-টাইপ শিরোনাম উপস্থিত থাকতে হবে।

ini_set('session.use_cookies',1);
session_start();
$file='myhiddenvideos/'.$_SESSION[$_GET['video']];
$_SESSION=array();
$params = session_get_cookie_params();
setcookie(session_name(),'', time()-42000,$params["path"],$params["domain"],
                                         $params["secure"], $params["httponly"]);
if(!file_exists($file) or $file==='' or !is_readable($file)){
  header('HTTP/1.1 404 File not found',true);
  exit;
  }
readfile($file);
exit:

এখন যদি ব্যবহারকারী কোনও নতুন ট্যাবে ইউআরএল অনুলিপি করেন বা প্রসঙ্গ মেনু ব্যবহার করেন তবে তার ভাগ্য হবে না।


আমি সমাধানটি পছন্দ করি - এটি ওপিএসের প্রশ্নের সমাধান করে। একটি দুর্ভাগ্যজনক বিষয় হ'ল, যখন ক্রোমে উত্স কোডটি পরীক্ষা করা হয় এবং লিঙ্কটিতে ডান-ক্লিক হয়। ব্যবহারকারী একটি এইচটিএমএল ফাইল ডাউনলোড করবেন যা আসলে ভিডিও ফাইল হবে।
ব্যবহারকারী 1252280

5

আপনার ভিডিওটি ডাউনলোড করতে নন-টেক সচেতন লোকজনকে ডান-ক্লিকের প্রসঙ্গ মেনুটি ব্যবহার করা অন্ততপক্ষে থামাতে পারেন। অনকেক্সটেমেনু বৈশিষ্ট্যটি ব্যবহার করে যে কোনও উপাদানগুলির জন্য আপনি প্রসঙ্গ মেনুটি অক্ষম করতে পারেন।

oncontextmenu="return false;"

এটি শরীরের উপাদান (পুরো পৃষ্ঠা) বা ভিডিও ট্যাগের অভ্যন্তরে কেবল একটি একক ভিডিওর জন্য কাজ করে।

<video oncontextmenu="return false;" controls>...</video>

5

আমরা মেয়াদ শেষ হওয়া ইউআরএলগুলি সহ এডাব্লুএস ক্লাউডফ্রন্ট ব্যবহার করে শেষ করেছি। ভিডিওটি লোড হবে, তবে ব্যবহারকারীরা প্রথমে প্রাপ্ত ভিডিও ইউআরএলটির মেয়াদ শেষ হয়ে যাওয়ার সাথে সাথে ডান ক্লিক করে সেভ বেছে নেবে। ক্লাউডফ্রন্ট অরিজিন অ্যাক্সেস আইডেন্টিটির জন্য অনুসন্ধান করুন।

ভিডিও ইউআরএল তৈরির জন্য একটি কী জুড়ি প্রয়োজন যা এডাব্লুএস সিএলআইতে তৈরি করা যেতে পারে। এফওয়াইআই এটি আমার কোড নয় তবে এটি দুর্দান্ত কাজ করে!

$resource = 'http://cdn.yourwebsite.com/videos/yourvideourl.mp4';
$timeout = 4;

//This comes from key pair you generated for cloudfront
$keyPairId = "AKAJSDHFKASWERASDF";

$expires = time() + $timeout; //Time out in seconds
$json = '{"Statement":[{"Resource":"'.$resource.'","Condition" {"DateLessThan":{"AWS:EpochTime":'.$expires.'}}}]}';     

//Read Cloudfront Private Key Pair
$fp=fopen("/absolute/path/to/your/cloudfront_privatekey.pem","r"); 
$priv_key=fread($fp,8192); 
fclose($fp); 

//Create the private key
$key = openssl_get_privatekey($priv_key);
if(!$key)
{
    echo "<p>Failed to load private key!</p>";
    return;
}

//Sign the policy with the private key
if(!openssl_sign($json, $signed_policy, $key, OPENSSL_ALGO_SHA1))
{
    echo '<p>Failed to sign policy: '.openssl_error_string().'</p>';
    return;
}

//Create url safe signed policy
$base64_signed_policy = base64_encode($signed_policy);
$signature = str_replace(array('+','=','/'), array('-','_','~'), $base64_signed_policy);

//Construct the URL
$url = $resource.'?Expires='.$expires.'&Signature='.$signature.'&Key-Pair-Id='.$keyPairId;

return '<div class="videowrapper" ><video autoplay controls style="width:100%!important;height:auto!important;"><source src="'.$url.'" type="video/mp4">Your browser does not support the video tag.</video></div>';

1
উচ্চ আন্ডাররেটেড মন্তব্য। আমি আজকাল যাইহোক ডকস.ওএস.আমজোন . com/sdk-for-php/v3/developer-guide/… ব্যবহার করার পরামর্শ দেব ।
Zmart

যদি টোকেনটির মেয়াদ শেষ হয়ে যায়, তার মানে কি তারা ভিডিওর চারপাশে নেভিগেট করতে পারে না? এটি আবার ভিডিওর ইউআরএলে যোগাযোগ করার মতো বলে মনে হচ্ছে।
চুদ 37

4

আমরা প্রাসঙ্গিক মেনুটি লুকিয়ে রেখে এটিকে এত সহজ করে তুলতে পারি:

<video oncontextmenu="return false;"  controls>
  <source src="https://yoursite.com/yourvideo.mp4" >
</video>

3

+1 সহজ এবং ক্রস ব্রাউজারের উপায়: আপনি CSS জেড-ইনডেক্স এবং অস্বচ্ছতার সাথে ভিডিওতে স্বচ্ছ চিত্রও রাখতে পারেন। সুতরাং ব্যবহারকারীরা প্রসঙ্গ মেনুতে "ভিডিও সংরক্ষণ করুন" এর পরিবর্তে "চিত্র সংরক্ষণ করুন" দেখতে পাবেন।


2
কেন পিক করতে লোড হতে সময় লাগবে তাই কেবল ডিভি ট্যাগ লাগিয়ে দিন এবং তারা ক্রোমের একটি বড় মেনু পাবেন যেমন ব্যাক পুনরায় লোড ইত্যাদি
ওয়াকাস তাহির

আমি নিশ্চিত নই তবে এখনও ফাইল> SaveAs
অরুণ কুমার

3

দ্য

<body oncontextmenu="return false;"> 

আর কাজ করে না সোজা ডাউনলোডের অনুমতি দেওয়ার জন্য টাইমলাইনে ক্রোম এবং অপেরা 2018 এর সময়রেখায় একটি সাবমেনু রয়েছে, সুতরাং সেই ভিডিওটি ডাউনলোড করতে ব্যবহারকারীর ডান ক্লিকের প্রয়োজন হয় না। মজার ব্যাপার হল ফায়ারফক্স এবং এজ এর কাছে নেই ...


2

ভিমিওর মতো একটি পরিষেবা ব্যবহার করে: সাইন ইন করুন Vimeo > Goto Video > Settings > Privacy > Mark as Secured, এবং এম্বেড ডোমেনগুলি নির্বাচন করুন। এম্বেড ডোমেনগুলি সেট হয়ে গেলে, এটি নির্দিষ্ট ডোমেনগুলি থেকে সংযুক্ত না হওয়া পর্যন্ত কাউকে ভিডিও এম্বেড করতে বা ব্রাউজার থেকে প্রদর্শন করার অনুমতি দেয় না। সুতরাং, যদি আপনার কোনও সার্ভারে সুরক্ষিত কোনও পৃষ্ঠা থাকে যা ভিফেমো প্লেয়ারকে iframe এ লোড করে, এটি কাছাকাছি যাওয়া বেশ কঠিন করে তোলে।


2

সবার আগে উপলব্ধি করা যে কোনও ভিডিও ডাউনলোড হওয়া সম্পূর্ণরূপে প্রতিরোধ করা অসম্ভব, আপনি যা করতে পারেন তা আরও জটিল করে তুলছে । অর্থাৎ আপনি ভিডিওর উত্সটি লুকিয়ে রেখেছেন।

একটি ওয়েব ব্রাউজার অস্থায়ীভাবে একটি বাফারে ভিডিও ডাউনলোড করে, তাই যদি ডাউনলোডটি প্রতিরোধ করতে পারে তবে আপনি ভিডিওটিও দেখা যাওয়া থেকে বিরত রাখবেন।

আপনার এও জানা উচিত যে বিশ্বের মোট জনসংখ্যার <1% যে কোনও উপায়ে বরং এটি নিরাপদ করে উত্স কোডটি বুঝতে সক্ষম হবে। এর অর্থ এই নয় যে আপনার উত্সটিতেও এটি আড়াল করা উচিত নয় - আপনার উচিত

আপনার ডান ক্লিকটি অক্ষম করা উচিত নয় এবং এর চেয়ে কম আপনার কোনও বার্তা প্রদর্শন করা উচিত "You cannot save this video for copyright reasons. Sorry about that."। যেমন এই উত্তরে পরামর্শ দেওয়া হয়েছে ।

এটি ব্যবহারকারীর পক্ষে খুব বিরক্তিকর এবং বিভ্রান্তিকর হতে পারে । সেটা থেকে পৃথক; যদি তারা তাদের ব্রাউজারে জাভাস্ক্রিপ্ট অক্ষম করে থাকে তবে তারা ডান ক্লিক করতে এবং যেভাবেই সংরক্ষণ করতে সক্ষম হবে

আপনি যে সিএসএস ট্রিকটি ব্যবহার করতে পারেন তা এখানে:

video {
    pointer-events: none;
}

ব্রাউজারে সিএসএস বন্ধ করা যাবে না, ডান ক্লিকটি বাস্তবে অক্ষম না করে আপনার ভিডিও রক্ষা করুন। তবে একটি সমস্যা হ'ল controlsহয় সক্ষম করা যায় না, অন্য কথায় সেগুলি সেট করা আবশ্যক false। আপনি যদি নিজের প্লে / বিরতি ফাংশনটি অন্তর্ভুক্ত করতে চলেছেন বা এমন কোনও এআইপি ব্যবহার করেন যা বোতামটির সাথে videoট্যাগের সাথে পৃথক থাকে তবে এটি একটি সম্ভাব্য বিকল্প।

controls এটি ডাউনলোড করার বোতামও রয়েছে তাই এটি ব্যবহার করা এত ভাল ধারণা নয়।

এখানে একটি জেএসফিডেলের উদাহরণ।


আপনি যদি জাভাস্ক্রিপ্ট ব্যবহার করে ডান ক্লিক অক্ষম করতে চলেছেন তবে জাভাস্ক্রিপ্টে ভিডিওর উত্সটিও সংরক্ষণ করুন। যদি ব্যবহারকারী জাভাস্ক্রিপ্ট অক্ষম করে (ডান ক্লিকের অনুমতি দিচ্ছে) ভিডিও লোড হবে না (এটি ভিডিও উত্সটি আরও ভালভাবে আড়াল করে)।

TxRegex উত্তর থেকে :

<video oncontextmenu="return false;" controls>
    <source type="video/mp4" id="video">
</video>

এখন ভিডিওটি জাভাস্ক্রিপ্টের মাধ্যমে যুক্ত করুন:

document.getElementById("video").src = "https://www.w3schools.com/html/mov_bbb.mp4";

কার্যকরী জেএসফিডাল


রাইট ক্লিক প্রতিরোধের অন্য উপায়ের মধ্যে embedট্যাগ ব্যবহার করা জড়িত । এটি তবে ভিডিও চালনার জন্য নিয়ন্ত্রণ সরবরাহ করে না যাতে তাদের জাভাস্ক্রিপ্টে অন্তর্ভুক্ত করা দরকার:

<embed src="https://www.w3schools.com/html/mov_bbb.mp4"></embed>

1
জাভাস্ক্রিপ্টের মাধ্যমে src URL যুক্ত করা খুব বেশি কার্যকর নয় Add DOM পরিদর্শন করা স্ক্রিপ্টটি সেট করার পরে URL টি সাধারণ দৃষ্টিতে প্রদর্শন করবে in
সাইমন

@ সিমোন আমি সম্মত, তবে এটি সরাসরি এইচটিএমএল উত্সে দেখানোর চেয়ে ভাল, যেখানে যে কেউ ডান ক্লিক করলে তা তা তাত্ক্ষণিকভাবে দেখতে পায়। আপনি সর্বদা ইউআরএল বিভক্ত করতে বা এটি এনক্রিপ্ট করতে পারে। তবে মনে রাখবেন যে এটি অতিরিক্ত প্রক্রিয়াজাতকরণ
সাইমন

"ব্রাউজারে সিএসএস বন্ধ করা যায় না" - প্রযুক্তিগতভাবে আপনি কিছু নির্দিষ্ট সিএসএস বিধি নিষ্ক্রিয় করতে ওয়েব ব্রাউজার বিকাশকারী সরঞ্জামগুলিতে সিএসএস সংশোধন করতে পারেন, যাতে আরও প্রযুক্তি-বুদ্ধিমান ব্যক্তি অপসারণ করতে পারেনpointer-events: none;
ফিল গিবিন্স

2

ভাল, আপনি এটি 100% রক্ষা করতে পারবেন না তবে আপনি এটি আরও শক্ত করে তুলতে পারেন। এই পদ্ধতিগুলি যা আমি ব্যাখ্যা করছি, আমি তাদের सामना করেছিলাম PluralSight এবং BestDotNetTraining সুরক্ষা পদ্ধতি অধ্যয়নের সময় । তবুও, এই পদ্ধতির কোনওটিই আমি যা চাই তা ডাউনলোড করতে আমার বিরত রাখেনি, তবে ডাউনলোডারকে তাদের সুরক্ষা পাস করার জন্য আমাকে কঠোর করতে খুব কষ্ট হয়েছিল।

প্রসঙ্গ মেনুটি অক্ষম করার জন্য উল্লিখিত অন্যান্য পদ্ধতির পাশাপাশি। ভিডিওটি ডাউনলোড করতে ব্যবহারকারী এখনও ইন্টারনেটডাউনলোড ম্যানেজার বা অন্যান্য অনুরূপ সফ্টওয়্যার এর মতো তৃতীয় পক্ষের সরঞ্জামগুলি ব্যবহার করতে সক্ষম। সুরক্ষা পদ্ধতিটি যা আমি এখানে ব্যাখ্যা করছি তা হল 3rd য় পক্ষের সফ্টওয়্যারটি প্রশমিত করা।

এই সমস্ত পদ্ধতির প্রয়োজনীয়তা হ'ল কোনও ব্যক্তি যখন আপনার ভিডিওগুলি ডাউনলোড করছে তা শনাক্ত করার সময় কোনও ব্যবহারকারীকে ব্লক করা। আপনি আপনার ওয়েবসাইটে অ্যাক্সেস নিষিদ্ধ করার আগে তারা কেবলমাত্র এক বা দুটি ভিডিও ডাউনলোড করতে সক্ষম হয়।

দাবি পরিত্যাগী

কেউ যদি এই পদ্ধতিগুলি অপব্যবহার করে বা অন্যকে বা ওয়েবসাইটগুলির উদাহরণ হিসাবে আমি উল্লিখিত ওয়েবসাইটগুলির ক্ষতি করতে ব্যবহার করে তবে আমি কোনও দায়বদ্ধতা গ্রহণ করব না। এটি কেবল আপনার বৌদ্ধিক পণ্য রক্ষা করতে আপনাকে জ্ঞান ভাগ করে নেওয়ার জন্য।

একটি মেয়াদ শেষ হওয়ার সাথে লিঙ্ক তৈরি করুন gene

এর প্রয়োজনীয়তা হ'ল ব্যবহারকারী প্রতি ডাউনলোড লিঙ্ক তৈরি করা। এটি সহজেই অ্যাজুরে ব্লব স্টোরেজ বা অ্যামাজন এস 3 দ্বারা পরিচালনা করা যায়। আপনি ভিডিও দৈর্ঘ্যের মেয়াদোত্তীর্ণ টাইমস্ট্যাম্পের দ্বিগুণ সাথে একটি ডাউনলোড লিঙ্ক তৈরি করতে পারেন। তারপরে আপনাকে সেই ভিডিও লিঙ্কটি এবং অনুরোধ করা সময়টি ক্যাপচার করতে হবে। এটি পরবর্তী পদ্ধতির জন্য প্রয়োজনীয়। ব্যবহারকারী প্লে বোতামটি ক্লিক করলে আপনি এই লিঙ্কটি ডাউনলোডের লিঙ্কটি তৈরি করছেন।

প্লে বোতাম ইভেন্টে আপনি সার্ভারে একটি অনুরোধ প্রেরণ করবেন এবং লিঙ্কটি পাবেন এবং উত্সটি আপডেট করুন।

ভিডিও অনুরোধের হার থ্রোট্ট করুন

তারপরে আপনি নিরীক্ষণ করুন যে ব্যবহারকারী কীভাবে দ্বিতীয় ভিডিওর জন্য অনুরোধ করে। যদি ব্যবহারকারী খুব দ্রুত ডাউনলোড লিঙ্কের জন্য অনুরোধ করে তবে আপনি তাদের এখনই ব্লক করুন। আপনি এই প্রান্তিকতাটি খুব বেশি বড় রাখতে পারবেন না কারণ আপনি ভুলরূপে কেবলমাত্র ব্রাউজিং বা ভিডিওর মাধ্যমে স্কিমিং করা ব্যবহারকারীদের ব্লক করতে পারেন।

এইচটিটিপি রেঞ্জ সক্ষম করুন

আপনার ভিডিও প্লে করতে কিছু জেএস লাইব্রেরি যেমন ভিডিওজগুলি ব্যবহার করুন , আপনার হেডারে আপনাকে একটি AcceptRangeও ফেরত দিতে হবে। অ্যাজুরে ব্লব স্টোরেজ বক্সের বাইরে এটি সমর্থন করে। এইভাবে ব্রাউজারটি খণ্ড করে ভিডিও খণ্ড ডাউনলোড করতে শুরু করে। সাধারণত 32byte 32byte। তারপরে আপনাকে ভিডিওজগুলি শুনতে timeupdateহবে এবং ভিডিওটি যে শতাংশে দেখা হয়েছে সে সম্পর্কে আপনার সার্ভারটি আপডেট করতে হবে। ভিডিওটি যে শতাংশে দেখা হয়েছে তার শতাংশ যে ভিডিও বিতরণ করা হয়েছে তার চেয়ে বেশি হতে পারে না। এবং যদি আপনি কোনও শতাংশ পরিবর্তন না পেয়ে কোনও ভিডিও সামগ্রী সরবরাহ করে থাকেন তবে আপনি ব্যবহারকারীকে অবরুদ্ধ করতে পারেন। কারণ তারা অবশ্যই ডাউনলোড করছে।

এটি বাস্তবায়ন করা জটিল কারণ ব্যবহারকারী যখন ভিডিওটি সামনে বা পিছনে ফেলে যেতে পারেন তখন আপনি যখন এটি বাস্তবায়ন করেন তখন এ সম্পর্কে সচেতন হন।

এভাবেই বেস্টডোটনেট ট্রেনিং পরিচালনা করছে timeupdate

myPlayer.ready(function () {
    //var player = this;
    this.src({
        type: "video/mp4",
        src: videoURL
    });
    if (videoId) {
        myPlayer.play();
        this.on('timeupdate', function () {
            var currentPercent = parseInt(100 * myPlayer.currentTime() / myPlayer.duration());//calcualte as percentage
            if (currentPercent % 5 == 0) {
                //send percentage to server 
                SaveVideoDurationWatched(currentPercent, videoId);
            }
        });
    }

});

যাইহোক, ব্যবহারকারী স্ট্রিমিংয়ের মাধ্যমে কোনও ফাইল ডাউনলোড করে এমন কিছু ডাউনলোড পদ্ধতি ব্যবহার করে এটি ঘিরে কাজ করতে সক্ষম হয়। প্রায় সি # এটি বাক্সের বাইরে এবং নোডেজগুলির জন্য, আপনি requestমডিউলটি ব্যবহার করতে পারেন । তারপরে আপনাকে স্টপওয়াচ শুরু করতে হবে, প্রাপ্ত প্যাকেজটি শুনতে হবে এবং প্রাপ্ত মোট বাইটকে মোট আকারের সাথে তুলনা করতে হবে। এইভাবে আপনি শতাংশ এবং সেই পরিমাণ শতাংশের জন্য ব্যয় করা সময় গণনা করতে পারেন। তারপরে Thread.Sleep()থ্রেডটি যে পরিমাণে অপেক্ষা করতে হবে তার পরিমাণটি আপনি সাধারণত ভিডিওটি দেখুন কিনা তা বিলম্ব করতে এই জাতীয় কিছু ব্যবহার করুন । এছাড়াও ঘুমের আগে ব্যবহারকারী সার্ভারে কল করতে পারে এবং প্রাপ্ত শতাংশের আপডেট করতে পারে। সুতরাং সার্ভারটি মনে করে যে ব্যবহারকারী আসলে একটি ভিডিও দেখছে।

গণনাটি এরকম কিছু হবে, উদাহরণস্বরূপ, যদি আপনি গণনা করেন যে আপনি এখন পর্যন্ত 1 শতাংশ পেয়েছেন, তবে আপনি ডাউনলোডের থ্রেডটি ঘুমানোর জন্য অপেক্ষা করতে হবে সেই পরিমাণটি গণনা করতে পারেন। এইভাবে আপনি কোনও ভিডিওর আসল দৈর্ঘ্যের চেয়ে দ্রুত ডাউনলোড করতে পারবেন না। যদি কোনও ভিডিও 24 মিনিটের হয়। এটি ডাউনলোড করতে 24 মিনিট সময় লাগবে। (আরও প্রথম থ্রোহোল্ড আমরা প্রথম পদ্ধতিতে রেখেছি)

original video length 24 minute
24 min *60000 = 1,440,000 miliseconds 
1,440,000 % 100 = 14,400 milisecond is needed to download one percent

ব্রাউজার এজেন্ট পরীক্ষা করুন

আপনি যখন কোনও ওয়েবপৃষ্ঠা পরিবেশন করছেন এবং ভিডিও লিঙ্কটি পরিবেশন করছেন বা অগ্রগতি আপডেটের অনুরোধটি গ্রহণ করবেন আপনি ব্রাউজার এজেন্টের দিকে নজর রাখতে পারেন। যদি এটি আলাদা হয় তবে ব্যবহারকারীকে নিষিদ্ধ করুন।

কিছু সচেতন থাকুন যে কোনও পুরানো ব্রাউজার এই তথ্যটি দেয় না। সুতরাং ভিডিও অনুরোধ এবং ওয়েবপৃষ্ঠা অনুরোধ উভয় ক্ষেত্রেই ব্রাউজার এজেন্ট না থাকলে আপনার এটিকে উপেক্ষা করা উচিত। তবে যদি একটি অনুরোধের কাছে থাকে এবং অন্য কোনওটির কাছে না থাকে, তবে আপনার ব্যবহারকারীকে নিষিদ্ধ করা উচিত।

এটিকে ঘিরে কাজ করার জন্য ব্যবহারকারী ব্রাউজার এজেন্টের শিরোনামটিকে ম্যানুয়ালি হেডলেস ব্রাউজারের মতো সেট করতে পারেন যা তারা ডাউনলোড লিঙ্কটি ক্যাপচার করতে ব্যবহার করছে।

রেফারার শিরোনাম পরীক্ষা করুন

যখন রেফারার আপনার হোস্ট ইউআরএল বা আপনি যে ভিডিওটি পরিবেশন করছেন সেই পৃষ্ঠার ইউআরএল ব্যতীত অন্য কিছু হলে আপনি ব্যবহারকারীকে নিষিদ্ধ করতে পারেন, কারণ তারা ডাউনলোড লিঙ্কটিকে অন্য ট্যাবে বা অন্য কোনও অ্যাপ্লিকেশনে রেখেছেন। এমনকি আপনি অগ্রগতি আপডেট অনুরোধের জন্য এটি করতে পারেন।

এর জন্য প্রয়োজনীয়তার সাথে ভিডিওর ম্যাপিং এবং সেই পৃষ্ঠাটি প্রদর্শিত হয় যা সেই ভিডিওটি দেখায়। ইউআরএলটি কী হওয়া উচিত তা বোঝার জন্য আপনি কিছু কনভেনশন বা প্যাটার্ন তৈরি করতে পারেন এটি আপনার ডিজাইনের উপর নির্ভর করে।

এটির চারপাশে কাজ করার জন্য ব্যবহারকারীরা ভিডিওগুলি ডাউনলোড করার সময় রেফারার শিরোনামটি ম্যানুয়ালি ডাউনলোড পৃষ্ঠার ইউআরএলের সমান করতে পারেন।

অনুরোধের মধ্যে সময় গণনা করুন

যদি আপনি এতগুলি অনুরোধ পেয়ে থাকেন যে তাদের মধ্যে সময় একই হয়, তবে আপনার ব্যবহারকারীকে ব্লক করা উচিত। ভিডিও লিঙ্ক প্রজন্মের অনুরোধের মধ্যে কত সময় আছে তা ক্যাপচার করার জন্য আপনার এটি রাখা উচিত। যদি সেগুলি একই হয় (প্লাস / বিয়োগ কিছু প্রান্তিক) এবং এটি বেশ কয়েকবারের বেশি হয়, তবে আপনি ব্যবহারকারীকে নিষিদ্ধ করতে পারেন। কারণ যদি এমন কোনও বট থাকে যা আপনার ওয়েবসাইট বা ভিডিওগুলিকে ক্রল করতে চলেছে তবে সাধারণত তাদের অনুরোধের মধ্যেই তাদের ঘুমের সময় একই থাকে। সুতরাং আপনি যদি প্রতিটি অনুরোধ গ্রহণ করেন, উদাহরণস্বরূপ, প্রতি 1.3 (প্লাস / মিনিট কিছু বিচ্যুতি) মিনিট। তারপরে আপনি একটি অ্যালার্ম বাড়াবেন। এর জন্য, আপনি অনুরোধগুলির মধ্যে বিচ্যুতি জানতে কিছু পরিসংখ্যানের গণনা ব্যবহার করতে পারেন।

এটি কার্যকর করতে, ব্যবহারকারী অনুরোধগুলির মধ্যে একটি এলোমেলো ঘুমের সময় রাখতে পারেন।

কোডের উদাহরণ

আমার একটি রেপো রয়েছে বহুবর্ষদৃষ্টি-ডাউনলোডার যা এটি অর্ধেক করে চলেছে । আমি প্রায় 5 বছর আগে এই রেপো তৈরি করেছি। কারণ আমি এটি অধ্যয়নের উদ্দেশ্যে এবং কেবল নিজের ব্যক্তিগত ব্যবহারের জন্য লিখেছি, রেপো এখনও পর্যন্ত কোনও আপডেট পায় নি এবং আমি আপডেট করতে যাচ্ছি না বা এটি দিয়ে কাজ করা সহজ করে তুলছি না। এটি কীভাবে করা যায় তার একটি উদাহরণ।


2

তুমি ব্যবহার করতে পার

<video src="..." ... controlsList="nodownload">

https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/controlsList

এটি ভিডিও সংরক্ষণ করা বাধা দেয় না, তবে এটি ডাউনলোড বোতাম এবং প্রসঙ্গ মেনুতে "হিসাবে সংরক্ষণ করুন" বিকল্পটি সরিয়ে দেয়।


1

সংক্ষিপ্ত উত্তর: ইউটিউবের মতো লিঙ্কটি এনক্রিপ্ট করুন, কীভাবে ইউটিউব / গুগল জিজ্ঞাসা করবেন কীভাবে তারা এটি করেন সে সম্পর্কে কীভাবে জানেন না। (কেবলমাত্র যদি আপনি সরাসরি পয়েন্টে যেতে চান তবে)

আমি যে কারও কাছে ইঙ্গিত করতে চাই যে এটি সম্ভব কারণ ইউটিউব এটি করে এবং যদি তারা এটি করতে পারে তবে অন্য কোনও ওয়েবসাইট এটি ব্রাউজার থেকে আসে না কারণ আমি এটি মাইক্রোসফ্ট প্রান্ত এবং ইন্টারনেট এক্সপ্লোরার এবং কয়েকটি ব্রাউজারে পরীক্ষা করে দেখেছি এবং সুতরাং এটি নিষ্ক্রিয় করার একটি উপায় আছে এবং দেখা গেছে যে লোকেরা এখনও এটি বলেছে ... আমি একটি উত্তর খুঁজতে চাইছি কারণ যদি ইউটিউব থেকে পারে তবে যদি তারা এটি করে তবে তার উপায় দেখার একমাত্র উপায় যদি কেউ এটির দিকে তাকিয়ে থাকে তবে ইউটিউবের স্ক্রিপ্টগুলি যা আমি এখন করছি। আমি এটিও কাস্টম প্রসঙ্গে মেনু ছিল কিনা তাও পরীক্ষা করে দেখেছি এবং এটি নয় কারণ কনটেক্সট মেনু পরিদর্শনকারী উপাদানটি প্রবাহিত হয়ে গেছে এবং আমি বোঝাতে চাইছি এটি শেষ হয়ে গেছে এবং আমি দেখেছি এবং এটি কখনও নতুন শ্রেণি তৈরি করে না এবং এটিও এটি নয় জাভাস্ক্রিপ্টের সাহায্যে উপাদানটি পরিদর্শন করা অ্যাক্সেস করা অসম্ভব তাই এটি হতে পারে না। আপনি যখন বলতে পারেন এটি কখন ইউটিউব ভিডিওতে ডাবল ক্লিক করে এটি ক্রোমের জন্য প্রসঙ্গ মেনুটিকে পপ করে। এছাড়াও ... ইউটিউব এই ফাংশনটি যুক্ত করতে পারে না I আমি গবেষণা করছি এবং ইউটিউবের উত্সটি সন্ধান করছি তাই উত্তরটি খুঁজে পেলে আমি ফিরে আসব ... কেউ যদি বলে যে আপনি এর চেয়ে বেশি পারছেন না, ভাল তারা করত না ' আমার মতো গবেষণা করবেন না। ইউটিউব ভিডিও ডাউনলোডের একমাত্র উপায় একটি ভিডিও ডাউনলোডের মাধ্যমে।

ঠিক আছে ... আমি গবেষণা করেছি এবং আমার গবেষণা স্থগিত করেছে যে এটির কোনও জাভাস্ক্রিপ্ট না থাকলে আপনি এটিকে অক্ষম করতে পারবেন ... এটির অক্ষম রাখতে আপনাকে ভিডিওর লিঙ্কগুলি এনক্রিপ্ট করতে সক্ষম হতে হবে কারণ আমি মনে করি যে কোনও এটি খুঁজে না পাওয়া থাকলে এবং ব্রাউজারটি এটি দেখায় না এবং আমি যখন একটি ইউটিউব ভিডিও লিঙ্কটি খুলি তখন এটি এটি "ব্লাব: https://www.youtube.com/e5c4808e-297e-451f-80da-3e838caa1275 হিসাবে দেখায়"উদ্ধৃতি ব্যতীত এটি এটি এনক্রিপ্ট করছে যাতে এটি সংরক্ষণ করা যায় না ... এর জন্য আপনাকে পিএইচপি জানা দরকার তবে আপনি যে উত্তরটিকে আরও শক্ত করে তোলেন তা পছন্দ করার মতো, ইউটিউব এটিকে ভারী এনক্রিপ্ট করা সবচেয়ে শক্ত করে তোলে, আপনাকে একটি হওয়া দরকার অগ্রিম পিএইচপি প্রোগ্রামার তবে আপনি যদি তা জানেন না তবে আপনি যে ব্যক্তিকে বাছাই করেছেন তার চেয়ে বেশি ভাল উত্তর হিসাবে এটি ডাউনলোড করা উত্তম উত্তর হিসাবে গ্রহণ করেছেন ... তবে আপনি যদি ভিডিও লিঙ্কটি ভারী এনক্রিপ্টের চেয়ে পিএইচপি জানেন তবে এটি কেবলমাত্র পড়তে সক্ষম হয় আপনার ... আমি কীভাবে এটি করব তা ব্যাখ্যা করতে পারি না তবে তারা করেছিল এবং একটি উপায় আছে there সেখানে ইউটিউব যেভাবে ভিডিওগুলি এনক্রিপ্ট করে তা বেশ স্মার্ট তাই আপনি যদি কেবল ইউটিউব / গুগলকে জিজ্ঞাসা না করে কীভাবে জানতে চান তারা এটি করে ... আশা করি এটি ইতিমধ্যে আপনার পক্ষে সহায়তা করে যদিও আপনি ইতিমধ্যে সেরা উত্তরটি বেছে নিয়েছেন So সুতরাং লিঙ্কটি এনক্রিপ্ট করা স্বল্প মেয়াদে সেরা।


0

দেখে মনে হচ্ছে যে ওয়েবসকেটের মাধ্যমে ভিডিওটি স্ট্রিম করা একটি কার্যকর বিকল্প, ফ্রেমগুলির প্রবাহের মতো এবং এগুলি একটি ক্যানভাস সাজানোর জিনিসটিতে আঁকুন।

জাভাস্ক্রিপ্ট ব্যবহার করে ওয়েবসকেটগুলিতে ভিডিও স্ট্রিমিং

আমি মনে করি যে ক্লায়েন্টের পক্ষে ভিডিও অর্জন করা আরও জটিল হয়ে উঠবে এবং অবশ্যই "সমস্যা হিসাবে ভিডিও সংরক্ষণ করুন ..." রাইট ক্লিক ক্লিক করুন কনটেক্সট মেনু বিকল্প (ওভারকিল?!) দিয়ে আপনার সমস্যার সমাধান করবে এমন আরও একটি স্তর সুরক্ষা সরবরাহ করবে I


0

আমি যা করেছি তা এখানে:

function noRightClick() {
      alert("You cannot save this video for copyright reasons. Sorry about that.");
}
    <body oncontextmenu="noRightClick();">
    <video>
    <source src="http://calumchilds.com/videos/big_buck_bunny.mp4" type="video/mp4">
    </video>
    </body>
এটি চিত্র, পাঠ্য এবং বেশ কিছু কিছুর জন্যও কাজ করে। তবে, আপনি কীবোর্ড শর্টকাটগুলির মাধ্যমে "পরিদর্শন করুন" এবং "উত্স দেখুন" সরঞ্জামটি অ্যাক্সেস করতে পারেন। (উপরের উত্তরটি যেমন বলেছে, আপনি এটিকে পুরোপুরি থামাতে পারবেন না But) তবে এগুলি থামানোর জন্য আপনি বাধা আরোপের চেষ্টা করতে পারেন।


-1

@ ক্লেটন-গ্রুলের কাছে আমি যা খুঁজছিলাম তা ছিল, অ্যাংুলারজেএস ব্যবহার করে কোনও সাইটের জন্য আমার জন্য কফি স্ক্রিপ্ট সংস্করণ প্রয়োজন except আপনার যদি এটির প্রয়োজন হয় তবে অ্যাঙ্গুলারজেএস কন্ট্রোলারে আপনি যা রেখেছিলেন সে সম্পর্কে এখানে প্রশ্ন করুন:

    # This is how to we do JQuery ready() dom stuff
    $ ->
        # let's hide those annoying download video options.
        # of course anyone who knows how can still download
        # the video, but hey... more power to 'em.
        $('#my-video').bind 'contextmenu', -> 
            false

"আশ্চর্যজনক বিষয়গুলি সার্কিট কে-তে রয়েছে" (এটি সত্য)

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.