টপিকঃ জাভাস্ক্রীপ্ট দিয়ে HTML5 ভিডিও ফাইলের ডিউরেশন বের করা

আমি ব্যবহার করতাম www.projekktor.com এই প্লেয়ারটা। পরে duration বের করা জরুরী হয়ে পড়লে প্লেয়ার বদলাই। এখন যেটা ব্যবহার করছি সেটাতেও সুবিধা করতে পারছিনা।

videojs("example_video_1").ready(function(){
        var myPlayer = this;
        myPlayer.play();
        var duration = myPlayer.duration();
    });

এখানে example_video_1 হচ্ছে ভিডিও ট্যাগের আইডি। প্রিন্ট করলে 0 দেখায় খালি।

Re: জাভাস্ক্রীপ্ট দিয়ে HTML5 ভিডিও ফাইলের ডিউরেশন বের করা

আপনি কি নিচেরটি ব্যবহার করছেন?
http://www.videojs.com/docs/api/

ওখানে একটা নোট আছে ডিউরেশন ভ্যালু রিটার্ণ করার জন্য:

NOTE: The video must have started loading before the duration can be known, and in the case of Flash, may not be known until the video starts playing.

এ সংক্রান্ত কোন ঝামেলা আছে কিনা দেখতে পারেন।

Re: জাভাস্ক্রীপ্ট দিয়ে HTML5 ভিডিও ফাইলের ডিউরেশন বের করা

জেলাল লিখেছেন:

আপনি কি নিচেরটি ব্যবহার করছেন?
http://www.videojs.com/docs/api/

ওখানে একটা নোট আছে ডিউরেশন ভ্যালু রিটার্ণ করার জন্য

এটাও ট্রাই করেছি। পেজ লোড হলেই ভিডিও চালু হবে এমন ভাবে কোড করেছি। এটাও 0 দেখায়।

Re: জাভাস্ক্রীপ্ট দিয়ে HTML5 ভিডিও ফাইলের ডিউরেশন বের করা

var myPlayer = this;
myPlayer.play();
var duration = myPlayer.duration();

আমার মনে হয়, এই তিনটি লাইন আসলে সেন্ট্রাল প্রসেসিং ইউনিট অনেকটা একই সময়ে এক্সিকিউট করে। অর্থাৎ, ভিডিও ডাটা ফিজিক্যালি লোড হওয়া আরম্ভ হওয়ার পূর্বেই duration ভেরিয়েবলটি ডিফাইন্‌ড হয়ে যায়। ফলস্বরূপ, সেটি ০-ই রিটার্ণ করে।

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

Re: জাভাস্ক্রীপ্ট দিয়ে HTML5 ভিডিও ফাইলের ডিউরেশন বের করা

<video id="example_video_1" class="video-js vjs-default-skin"
    controls preload="auto" width="640" height="264"
    poster="http://video-js.zencoder.com/oceans-clip.png"
    data-setup='{"example_option":true}'>
    <source src="moon.mp4" type='video/mp4' />
    </video>

    <script type="text/javascript">
    videojs("example_video_1").ready(function(){
        var myPlayer = this;
        myPlayer.play();
        var duration = myPlayer.duration();
    });
    </script>

সর্বশেষ সম্পাদনা করেছেন জেলাল (০৭-০৮-২০১৩ ২১:০০)

Re: জাভাস্ক্রীপ্ট দিয়ে HTML5 ভিডিও ফাইলের ডিউরেশন বের করা

আমার আসলে দেখা দরকার ছিল ঠিক কোন জায়গায় আপনি ডিউরেশন ভ্যালুটি প্রিন্ট করছেন।

যাই হোক, প্লেয়ার অনরেডী ফাংশনের বাইরেই (প্লে হওয়ার পরে পেইজের যে কোন পয়েন্টে) ডিউরেশন পাওয়া সম্ভব:

var duration = videojs('example_video_1').duration();

টেস্ট করলাম আমি এভাবে:
var duration = myPlayer.duration(); এই লাইনটি প্লেয়ারের onready ফাংশন থেকে বাদ দিয়ে একটি বাটনের ক্লিক ইভেন্টে duration ডিফাইন করি। বাটনে ক্লিক করলে ডিউরেশন এলার্ট করবে।

<script>

videojs("example_video_1").ready(function(){
        var myPlayer = this;
        myPlayer.play();
    });

</script>
<p>
<input type="button" value="See Video Length" onclick="var duration = videojs('example_video_1').duration(); alert('This video is ' + duration + ' in length');" />
</p>

ডেমো:
http://hostmarts.com/test/videojs_duration_forhan.html

Re: জাভাস্ক্রীপ্ট দিয়ে HTML5 ভিডিও ফাইলের ডিউরেশন বের করা

জেলাল ভাই, এক্সাক্ট mp4 এক্সটেন্সন ছাড়া প্লে করেত পারে এমন html5 বেজড লাইব্রেরী পেয়েছেন?
ভিডিও ইউআরএল টা  হবে এরকম
"http://11.111.11.111:23424/cds/resource … a0d2d77145"

যে ভিডিওটা সাপ্লাই হবে সেটা mp4 ফরমেটে এবং স্ট্রিমিং সাপোর্ট করে (no webm or ogg version available either) । vlc দিয়ে সহজেই লিংক টা প্লে করা যায়। কিন্তু এইচটিএমএলে কোন ভাবেই প্লে করতে পারলামনা।

সর্বশেষ সম্পাদনা করেছেন জেলাল (০৮-০৮-২০১৩ ০৫:৪১)

Re: জাভাস্ক্রীপ্ট দিয়ে HTML5 ভিডিও ফাইলের ডিউরেশন বের করা

সদস্য_১ লিখেছেন:

জেলাল ভাই, এক্সাক্ট mp4 এক্সটেন্সন ছাড়া প্লে করেত পারে এমন html5 বেজড লাইব্রেরী পেয়েছেন?
ভিডিও ইউআরএল টা  হবে এরকম
"http://11.111.11.111:23424/cds/resource … a0d2d77145"

যে ভিডিওটা সাপ্লাই হবে সেটা mp4 ফরমেটে এবং স্ট্রিমিং সাপোর্ট করে (no webm or ogg version available either) । vlc দিয়ে সহজেই লিংক টা প্লে করা যায়। কিন্তু এইচটিএমএলে কোন ভাবেই প্লে করতে পারলামনা।

sad
jw-player-এর এই লিংকটা পড়ে মনে হলো ভিডিও এক্সটেনশন ছাড়া এটা ট্রাই করতে গেলেও ওয়েবএম ফরম্যাট লাগবে:

http://www.longtailvideo.com/support/jw … video-tag/

Re: জাভাস্ক্রীপ্ট দিয়ে HTML5 ভিডিও ফাইলের ডিউরেশন বের করা

জেলাল লিখেছেন:

sad
jw-player-এর এই লিংকটা পড়ে মনে হলো ভিডিও এক্সটেনশন ছাড়া এটা ট্রাই করতে গেলেও ওয়েবএম ফরম্যাট লাগবে:

http://www.longtailvideo.com/support/jw … video-tag/

ওয়েবএম ছাড়াও প্লে হয়। তবে ওনলি নির্দিস্ট কিছু ব্রাউজারে (লেটেস্ট গুগল ক্রোম, ফায়ারফক্স ইত্যাদি) যেগুলো এমপি৪ সাপোর্ট করে। ওয়েবএম দিলে ব্রাউজার সাপোর্ট একটু বাড়ে এই যা। তবে সব ক্ষেত্রেই ইউআরএল এক্সটেনন্সন  mp4 webm থাকা চাই। এক্সটেনসন ছাড়া ডায়নামিক ইউআরএল কি ভাবে প্লে করব সেটাই বুঝতে পারছিনা।

১০

Re: জাভাস্ক্রীপ্ট দিয়ে HTML5 ভিডিও ফাইলের ডিউরেশন বের করা

<html>
    <script src="js/jquery-1.7.2.min.js"></script>
    <script src="js/projekktor.min.js"></script>

    <video id="example_video_1" class="projekktor"
    title="this is projekktor" width="640" height="360" controls>
    <source src="moon.mp4" type="video/mp4" />
    </video>

    <script type="text/javascript">
    projekktor("example_video_1").ready(function(){
        var myPlayer = this;
    });
    </script>

    <script type="text/javascript">
        function printDuration(){
            document.getElementById("info").innerHTML = 
            projekktor('example_video_1').duration();
        }
    </script>

    <input type="submit" value="Print" onclick="printDuration()">
    <p id="info"></p>
</html>

এই কোড টা videojs এ কাজ করে। অথচ projekktor এ করেনা। কিছুই বুঝলাম না কি সমস্যা। ডিউরেশন বের করার জন্য ওদের api ও দেয়া আছে, সেটাও দিয়ে দেখলাম, কাজ করেনা  hairpull hairpull

http://www.projekktor.com/docs/api#play … tionnumber

আমার কোডে কি কোনো সমস্যা দেখা যাচ্ছে জেলাল ভাই? নাহলে আমার প্লেয়ার সুইচ করতে হবে।

১১ সর্বশেষ সম্পাদনা করেছেন জেলাল (০৮-০৮-২০১৩ ১৩:০৯)

Re: জাভাস্ক্রীপ্ট দিয়ে HTML5 ভিডিও ফাইলের ডিউরেশন বের করা

forhan লিখেছেন:

<html>
    <script src="js/jquery-1.7.2.min.js"></script>
    <script src="js/projekktor.min.js"></script>

    <video id="example_video_1" class="projekktor"
    title="this is projekktor" width="640" height="360" controls>
    <source src="moon.mp4" type="video/mp4" />
    </video>

<script type="text/javascript">
    projekktor("example_video_1").ready(function(){
        var myPlayer = this;
    });
    </script>

<script type="text/javascript">
        function printDuration(){
            document.getElementById("info").innerHTML =
            projekktor('example_video_1').duration();
        }
    </script>

    <input type="submit" value="Print" onclick="printDuration()">
    <p id="info"></p>
</html>

এই কোড টা videojs এ কাজ করে। অথচ projekktor এ করেনা। কিছুই বুঝলাম না কি সমস্যা। ডিউরেশন বের করার জন্য ওদের api ও দেয়া আছে, সেটাও দিয়ে দেখলাম, কাজ করেনা  hairpull hairpull

http://www.projekktor.com/docs/api#play … tionnumber

আমার কোডে কি কোনো সমস্যা দেখা যাচ্ছে জেলাল ভাই? নাহলে আমার প্লেয়ার সুইচ করতে হবে।

আপনার কোডের এ্যাকুয়া কালার করা অংশটুকু মুছে ওই জায়গায় এই কোডটি দিন:

<script type="text/javascript">
$(document).ready(function() {
    projekktor("#example_video_1").setPlay();
    printDuration = function(){
         document.getElementById("info").innerHTML = projekktor("#example_video_1").getDuration();
    };
});
</script>

আশা করি কাজ হবে এতে।

১২

Re: জাভাস্ক্রীপ্ট দিয়ে HTML5 ভিডিও ফাইলের ডিউরেশন বের করা

hug অনেক ধন্যবাদ জেলাল ভাই। বিরাট মুশকিল আহসান করে দিলেন।