728x90

컴퓨터와 잡동사니 자료 80

VLC.DotNet + FFmpeg 동영상 칼컷실험기.

'칼컷실험기'는 VideoRedo와 Smart Cutter의 칼컷 기능을 따라해본 프로그램이다. 넷프레임워크 4.5.1 기반이며, C#으로 작성되었다. 사용된 외부 플러그인은 VLC.DotNet과 VLC 플러그인, FFmpeg이다. 어디까지나 기능을 '따라한' 프로그램이므로, 두 프로그램에서 정상적으로 불러올 수 있는 동영상이면 해당 프로그램을 쓰거나, LoselessCut(링크)을 쓰는 걸 권장한다. * v1.13 (Source 포함) Google Drive (클릭) 압축 풀고 test_vlc\bin\Debug\test_vlc.exe 실행. * 빠른 설명 (H264 .mp4 파일 기준) 1. 프로그램을 실행한다. 2. 찾아보기... 로 동영상 경로를 지정한다. 3. VLC 열기 버튼을 클릭한다. 그럼 ..

Heroku와 CloudFlare를 조합한 미국VPN(v2ray)을 구축해보았다.

* 알림 이 기능은 막혔습니다. Item could not be created: We couldn't deploy your app because the source code violates the Salesforce Acceptable Use and External-Facing Services Policy. Heroku에서 Deploy하려고 하면 이딴 소리만 뜨면서 설치가 안 됩니다. 또한, Heroku는 2022년 11월 28일부터 무료 플랜을 중지했기 때문에 더 이상 아래와 같은 방법을 쓸 수가 없습니다. https://blog.heroku.com/next-chapter 지난번에 오라클 클라우드 프리티어를 이용해서 일본VPN을 만드는데 성공했다. (링크) 이제 나에게 필요한건 미국VPN이다. 그러나 ..

광고차단 확장기능을 켠 상태로 티스토리 애드센스 관리메뉴 데이터를 조회하는 방법.

애드센스 게시자들은 자기 블로그에 달린 광고판을 클릭하면 안된다. 호기심이나 실수로 클릭한 게시자에게는 구글의 무시무시한 징계만이 기다리고 있을 뿐이다.그래서 게시자들은 실수로 자기 광고를 클릭하는 걸 막기 위해 여러가지 방법을 취했다. 대표적인 방법으로는 구글 게시자 툴바(Google Publisher Toolbar)를 이용하여 광고에 클릭 차단막을 씌우는 것이 있었다. 그러나 해당 툴바는 2020년 5월에 서비스를 종료하게 되었다. 남은 방법은 애드블록이나 ublock origin같은 광고차단 확장기능을 통해 광고를 원천 봉쇄하는 것밖에 없다.그러나 광고차단 확장기능을 켠 상태로 티스토리 애드센스 관리메뉴에 들어가면 '다시 조회하기'만 뜨고 데이터를 제대로 불러오지 못하는 문제가 발생하였다. 일시적으..

오라클 상시 무료 클라우드에 일본IP VPN(v2ray)을 구축해보았다.

OpenVPN · SoftEther 등의 무료 VPN이나 ExpressVPN · NordVPN · SurfShark 등의 유료 VPN에서는 대체로 일본IP를 지원하고 있다. 그러나 무료 VPN은 보안문제가 염려되고, 유료 VPN은 돈을 지불해야 하므로 별로 마음에 내키지가 않았다. 그래서 오라클의 상시 무료 클라우드 서비스를 이용하여 나만의 일본IP VPN을 구축해보기로 하였다. 참고로 VPN 사용 제한량은 월 5TB 정도라고 생각하면 된다. Oracle 홈페이지에는 아웃바운드 데이터 전송이 월 10TB라고 적혀있는데 왜 5TB라고 생각해야 될까? 이건 VPN 서버의 구조방식 때문이다. "웹페이지 → VPN서버 → 내 컴퓨터" 만약 웹페이지에서 서버쪽에 10MB의 데이터를 보냈다고 치자. 그럼 끝인가? ..

Smart Cutter와 VideoRedo의 동영상 칼컷 기능을 따라해보는 프로그램을 만들고 말겠다.

Smart Cutter와 VideoRedo 등의 동영상 자르기 프로그램은 인코딩없이 사용자가 정해주는 시간대로 칼같이 동영상을 잘라주는 이른바 '칼컷' 기능을 탑재하고 있다.보통의 H264 인코딩 동영상을 ffmpeg으로 인코딩없이 자르려고 하면 앞 부분이 좀 더 같이 붙어서 나오는 현상이 벌어지게 되는데, 칼컷 기능을 가진 프로그램들은 그런 현상없이 칼같이 잘라준다. 그럼 먼저, 왜 그러한 현상이 발생하는지 살펴볼 필요가 있다. ( 출처 : VideoHelp 포럼 ) 동영상에는 프레임이라는 단위로 이루어져있다. 그리고 프레임은 I프레임, P프레임, B프레임이라는 3가지 종류가 있다.이때 주목해야 될 프레임은 I프레임이다. H264 동영상에서 I프레임은 키프레임이다. 이때문에 ffmpeg으로 인코딩없이 ..

ffmpeg으로 동영상을 자를 때 가장 짧게 자를 수 있는 시간은 얼마일까?

예를 들어, 30 fps이면서 h264 / mp3 코덱의 동영상이 있다고 가정해보자. 그럼 이 동영상의 일부를 ffmpeg으로 자르려고 할때 가장 짧게 자를 수 있는 시간은 얼마일까? 정답은 1프레임이다. 30 fps 기준으로 약 0.033초다. fps별 프레임 계산식은 (1 ÷ 30 = 0.033333... = 0.033) 이 되겠다. ffmpeg으로 동영상을 자를때는 -ss와 -to의 시간차가 반드시 1프레임을 초과해야 한다. 1프레임과 같거나 미만이면 동영상의 비디오 파트가 누락되게 인코딩된다. 아래의 스샷을 보도록 하자. -ss값의 밀리초가 0.267이고, -to값의 밀리초가 0.300이다. 두 값의 차이는 0.033이다. 1프레임(0.033)과 동일한데, 이렇게 인코딩을 하고 ffprobe로 동..

광고차단 확장기능을 켠 상태로 카카오TV 동영상을 재생하는 방법.

언제부터인지는 모르겠지만 카카오TV 페이지(tv.kakao.com)의 동영상이나 다른 사이트에 embed된 카카오TV 동영상 플레이어에서 '동영상을 재생할 수 없습니다.' 라는 오류가 뜨면서 광고 차단 기능의 해제를 요구하기 시작했다. 광고가 붙은 영상이든 안 붙은 영상이든 말이다. 지금까지는 광고 차단 확장기능을 일시적으로 해제해서 보았으나 매번 그러기에는 귀찮았다. 그래서 어떤 주소가 광고 차단기에 의해 차단되면 해당 오류가 발생하는지 분석해보았다. 분석 결과 3개의 주소가 오류와 관련이 있었다. @@https://tv.kakao.com/embed/player/image/ads.png @@videoads.kakao.com/adserver/api/v*/vmap^ @@videoads.kakao.com/a..

네이버 블로그 동영상의 _lsu_sa_에 대한 고찰.

* 알림 이 게시물의 내용은 2020년 11월에 최초 작성되었고, 2021년 3월 초에 수정되었습니다.글을 읽는 시점과는 상황이 다를 수 있습니다. 네이버 블로그 동영상의 다운로드 방법은 이미 인터넷에 널리 퍼져있다. 가장 유명한 방법은 오른쪽 상단의 공유 버튼을 누르고 소스 코드에서 플레이어 URL을 복사한 뒤 ToGetFLV라는 사이트에 붙여넣어서 다운로드 받는 방식이다.하지만 그런 방식은 해당 동영상을 게시한 블로그 게시물이 '전체공개'일때만 가능하다. 게시물이 이웃공개·서로이웃공개·비공개일때는 공유 버튼이 뜨지 않으므로 해당 방법을 적용할 수 없다. 그렇게 되면 크롬 F12 기능을 이용해서 동영상 주소를 추출하는 수밖에 없다. 네이버 블로그의 동영상 스트리밍 방식은 m3u8 방식이다. 여기까지라면..