Nếu bạn có nhu cầu kiếm tiền từ quảng cáo video, nhưng giá của các trình phát video có hỗ trợ quảng cáo quá cao, bài viết này sẽ giới thiệu một giải pháp hoàn toàn miễn phí, đó là sử dụng Video.js.
Sử dụng Video.js
Mình sử dụng Video.js phiên bản 5 vì phiên bản 6 chưa hoạt động ổn định với quảng cáo. Đầu tiên, nhúng đoạn mã sau vào <head></head>
.
<link rel="stylesheet" href="https://vjs.zencdn.net/5.20.3/video-js.min.css">
Và đoạn mã sau trước </body>
.
<script src="https://vjs.zencdn.net/5.20.3/video.min.js"></script>
HTML của video như sau.
<div class="single-video"> <video id="my-video" class="video-js vjs-16-9 vjs-big-play-centered" controls preload="false" width="640" height="264" muted> <source src="path/to/video/video.mp4" type="video/mp4"> </video> </div>
Với single-video
:
.single-video { max-width: 640px; margin: 0 auto; }
JavaScript:
vjs = videojs('my-video', {hls: {withCredentials: true}, 'controls': true, 'autoplay': true, 'preload': 'auto'}); vjs.muted(true); vjs.play();
Quảng cáo
Bạn có thể chạy quảng cáo preroll
với Video.js.
Đầu tiên, thêm đoạn mã sau vào <head></head>
sau đoạn mã trên.
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/videojs-vast-vpaid/2.0.2/videojs.vast.vpaid.min.css">
Và đoạn mã sau vào trước </body>
sau Video.js.
<script src="https://cdnjs.cloudflare.com/ajax/libs/videojs-vast-vpaid/2.0.2/videojs_5.vast.vpaid.min.js"></script>
JavaScript sẽ như sau.
vjs = videojs('my-video', {hls: {withCredentials: true}, 'controls': true, 'autoplay': true, 'preload': 'auto'}); vjs.vastClient({ url: 'https://...', playAdAlways: true, adCancelTimeout: 10000 }); vjs.muted(true); vjs.play();
Với url
là đường dẫn đến VAST. VAST là từ viết tắt của Video Ad Serving Template, VAST là tập tin với phần mở rộng .xml
. Bên trong tập tin này sẽ chứa nội dung để hiển thị quảng cáo ra trình phát video.
Tải VAST theo mô hình thác nước
Video.js có thể chạy 2 VAST theo mô hình thác nước, tức là VAST đầu tiên không có quảng cáo thì sẽ gọi VAST thứ 2. Để làm được điều đó, tham khảo đoạn mã sau.
var isError = false; vjs.on('vast.adError', function() { if (!isError) { this.pause(); this.vast.disable(); this.vastClient({ url: 'https://...', playAdAlways: true, adCancelTimeout: 10000 }); this.vast.enable(); this.muted(true); this.play(); isError = true; } });
Với vast.adError
là sự kiện trả về khi VAST đầu tiên không có quảng cáo.
Midroll
Mặc định Video.js không thể chạy quảng cáo midroll
(giữa video), nhưng ta có thể tùy biến như sau để chạy thêm một quảng cáo thứ hai sau khi hết preroll
. Tham khảo đoạn mã sau.
var isContentStart = false; vjs.on('vast.contentStart', function() { if (!isContentStart) { this.pause(); this.vast.disable(); this.vastClient({ url: '...', playAdAlways: true, adCancelTimeout: 10000 }); this.vast.enable(); this.muted(true); this.play(); isContentStart = true; } });
Với vast.contentStart
là sự kiện trả về khi nội dung được bắt đầu (sau khi chạy xong quảng cáo đầu tiên).
Nhược điểm duy nhất của Video.js là không tự động chạy video trên iOS. Nếu có kinh phí, bạn có thể tham khảo các trình phát JW Player (từ $50/tháng), Radiant Media Player ($80/tháng)…
Chúc các bạn thành công!
Thể Hình Channel
Tháng Tám 26, 2018 lúc 4:28 chiềuCũng chưa hiểu cho lắm, bạn có thể cho ví dụ cụ thể để dân tay mơ cũng làm được không bạn 🙁
Admin
Tháng Tám 26, 2018 lúc 4:34 chiềudemo cái video: https://www.inithtml.com/wp-content/uploads/2018/08/demo-videojs.zip
còn cái bước gắn VAST thì bắt buộc bạn phải hiểu rồi chứ k thì sao kiếm tiền đc…
chu
Tháng Mười Hai 20, 2018 lúc 3:15 chiềuBạn hướng dẫn chi tiết hơn mình làm trên blogcủa mình , mình ko hiểu lắm có thể thaythành nhúng video trên các website được ko ad?
Admin
Tháng Mười Hai 20, 2018 lúc 3:19 chiềuđương nhiên là được rồi bạn bạn bỏ đường link video (phải là file video) vào src=”” là được thôi
nam
Tháng Mười 20, 2020 lúc 8:56 sángbài copy này bữa thấy đâu rồi này. copy mà copy cũng ko chuẩn/ lạy
Quoc
Tháng Hai 28, 2022 lúc 1:01 chiềubạn cho mình xin zalo hay tele mình hỏi chút được không ạ?
nam
Tháng Mười 20, 2020 lúc 9:00 sángđây https://codepen.io/isheikhspear/pen/RjMOgw
Admin
Tháng Mười Một 1, 2020 lúc 6:47 chiềuđơn giản là dùng chung tài liệu hướng dẫn của Video.js thôi 😐
Quoc
Tháng Hai 28, 2022 lúc 2:45 chiềuadmin có thể cho mình xin thông tin liên hệ không ạ?
Minh
Tháng Ba 11, 2022 lúc 2:06 chiềuAd cho mình hỏi cái này có chèn cho blogger được không! Làm sao để chèn tự động ?Thanks
Admin ADMIN
Tháng Ba 18, 2022 lúc 10:44 chiềumấy cái miễn phí thì chắc ko có tự động đâu bạn 😀
kimidev
Tháng Năm 11, 2022 lúc 7:12 chiềuhttps://www.kimidev.site/