728x90
반응형
작성중인 글. 이것도 천천히 정리할듯;;;
여러 동영상을 한꺼번에 이어서 재생하거나 반복재생하고 싶어서 정리하는 중.
구현은 Recoeve.net (/user/kipid?cat=[Music/Break]--K-pop) 에 해놨으니 참조하시길.
## PH
- 2024-01-07 : start, end.
<video>
tag 도 생긴거 같긴한데... 이건 직접 서버를 운영하는 사람만 써먹을 수 있는듯? 동영상을 어딘가에 파일로 올려놔야 하니까;;; 파일 형태로 업로드하고 그냥 link 넣으면 될라나?
사용방법은 참조하시길. 그냥 대충 <video controls preload="metadata" src="http://koohara.megaplug.kr/1119 index.mp4#t=5,15" poster="https://t1.daumcdn.net/cfile/tistory/2204A74754DC69BA15"></video>
이런식으로 집어넣으면 됨. Media event 들 잡아서 어찌저찌 처리하면 연속재생 되도록 가능할듯?
hash 에 #t=start,end 입력하면 시작 시간, 끝 시간 정할 수 있음. 그런데 끝나도 $("#video-1").on("ended")
가 trigger 안되는듯. 그래서 on("pause")
로 처리해야 함.
### 이어서 재생하기
이어서 재생하기는 아래와 같은 script 로 대충 구현 가능함. 첫번째 동영상이 끝나면 두번째 동영상이 재생되도록 해놨음. 스크롤도 되면서. (스마트폰에서는 데이터 요금 때문에 autoplay 가 막혀있는 경우가 많아서 제대로 동작하지 않는듯.)
Miracle 에서 올린 아래 영상이 짤려서 따로 업로드. 하라 제트코스터 러브 encoded.mp4
```[.linenums.lang-html]
<div class="p rC"><div class="rSC">
<video id="video-1" controls="" preload="metadata" poster="https://t1.daumcdn.net/cfile/tistory/2204A74754DC69BA15">
<source src="https://t1.daumcdn.net/cfile/tistory/276EED3A55445ACB31#t=5,15" type="video/mp4">
Browser does not support video tag.
</video>
</div></div>
Current time : <span id="video-1-current-time"></span> seconds.
```/
```[.linenums.lang-html] <div class="p rC"><div class="rSC"> <video id="video-2" controls="" preload="metadata" poster="http://i.imgur.com/Ak0oPIO.jpg" src="https://blog.kakaocdn.net/dn/lJyKG/btsC4tRWXLs/lKUAX8R8heDRtUCuye7F91/tfile.webm" type="video/webm"> Browser does not support video tag. </video> </div></div> ```/
window.postMessage
를 이용한다는거 같긴한데...)
아무튼 가장 기본적인 코드는 아래와 같음. 우선 YouTube API javascript 를 넣어주고, 여기서 제공하는 function 들을 적절히 사용해서 control 하면 됨. 자세한 설명은 에서... 너무 자세해서 골치아프긴 하지만;;;
바로 아래에 <div id="id-player"></div>
가 있음.
, ,
, , , , , 당연히 유투브 기본 UI 들 클릭해도 기본적으로 다 잘 동작하고. 아래는 player property 들 프린트 해 놓은것. 참조해서 써먹으면 될듯? ### 이어서 재생하기 아래 첫번째 영상이 끝나면 바로 두번째 영상이 재생되도록 해놨음. (스마트폰에서는 데이터 요금 때문에 autoplay 가 막혀있는 경우가 많아서 제대로 동작하지 않는듯.) ```[.linenums] // 이어서 재생하기. y1=new YT.Player($('#youtube-1')[0] // id 대신 DOM element 를 넣어도 됨. , { videoId:'bHQqvYy5KYo' , playerVars:{theme:"light", color:"white", start:10, end:600} , events:{'onStateChange':function(e) { if (e.data===YT.PlayerState.ENDED) { $(window).scrollTop($("#youtube-2").offset().top); y2.playVideo(); } } } }); y2=new YT.Player('youtube-2', { videoId:'u1zgFlCw8Aw' , events:{} }); ```/
Note: This parameter 'loop' has limited support in the AS3 player and in IFrame embeds, which could load either the AS3 or HTML5 player. Currently, the loop parameter only works in the AS3 player when used in conjunction with the playlist parameter. To loop a single video, set the loop parameter value to 1 and set the playlist parameter value to the same video ID already specified in the Player API URL:
onStateChange 에다가 적절히 code 넣어서 구현할수도 있음. 어차피 loop 도 비슷하게 구현한 것일듯. 아래 영상을 무한루프 되도록 구현해놨음.
```[.linenums]
// Loop
new YT.Player('youtube-loop', {
videoId:'Skhwqq-iGQM'
, playerVars:{loop:1} // 동작 안함.
, events:{'onStateChange':function(e) {
if (e.data===YT.PlayerState.ENDED) {
e.target.playVideo();
}
}
}
});
```/
http://www.youtube.com/v/VIDEO_ID?version=3&loop=1&playlist=VIDEO_ID
- MDN - <video>
- w3schools - HTML <video> tag, and HTML5 video
HTML Audio/Video DOM Reference; and HTML Event Attributes (Media Events) - Google Developers - YouTube
YouTube Player API Reference for iframe Embeds
YouTube JavaScript Player API Reference
- YouTube Embedded Players and Player Parameters
- MDN - window.postMessage
- developer.dailymotion.com
- developer.vimeo.com
HTML <video> tag
YouTube
Etc.
728x90
반응형
'[IT/Programming] > HTML related' 카테고리의 다른 글
Email by JAVA (자바 프로그램을 이용해 이메일 보내기, com.sun.mail:jakarta.mail:2.0.1 :: 2021-04-06 에 update 가 끝나있는 오래된 library 임.) (2) | 2024.04.06 |
---|---|
v.qq.com 동영상 퍼오기 (1) | 2024.02.18 |
.webp, .webm, .avif, .mp4 를 img tag, video tag 로 로딩 테스트 (Loading test) (4) | 2024.02.18 |
Getting Data from Google Spreadsheet or Excel (1) | 2024.02.09 |
Getting html of container including the container itself (0) | 2024.02.06 |
구글 크롬 브라우저 캐시 지우기 및 강력 새로고침 하는 방법 (2) | 2024.02.04 |
HTTP Cookie in Web / HTML / Javascript and Server (1) | 2024.01.07 |