4K Video Downloader 를 이용해서 youtube영상 다운로드시 자막도 같이 받는 법이 있어 정리합니다.

    자료 출처 : https://www.4kdownload.com/ko/howto/howto-download-youtube-subtitles


링크의 설명과 같이 유튜브에서 영상에 자막서비스가 지원되는 영상이 있다면,

4K Video Downloader에서 이 자막까지 같이 다운로드 해주는 옵션이 있습니다.


1) 먼저 원하는 유튜브 영상에서 텍스트 변환열기 버튼으로 자막이 있는지 확인 

2) 4K video downloader에서 Smart Mode메뉴에서 자막 까지 받는 옵션 사용 설정함.

3) 원하는 영상을 4K 프로그램에서 다운로드 합니다.

4) 다운로드한 영상은 다음 팟 플레이어등에서 열어봐서 자막이 잘 보이는지 확인합니다.


** 참고로 영어 공부를 하신다면, 다음 팟에서 다음의 키보드를 이용해보세요.

  a) 컴퓨터 키보드에서 Home키를 누르면, 이전 자막위치로 이동

  b) End키를 누르면, 다음 자막 위치로 이동합니다.

  c) Ctrl + Home키를 다시 누르면, 현재 자막의 첫 시작 시간으로 이동합니다. ( 이걸 가장 많이 이용할 듯)

  d) Insert 키를 누르면, 현재 자막이 있는 구간만 반복합니다.

  e) 구간반복을 해제/사용은 \자판(back slash)를 누릅니다.



아래와 같이 자막이 보임 (저는 영어 공부를 위한 영상을 선택)



그럼 4K video downloader에서 Smart Mode 메뉴를 클릭 -> Enable Smart Mode( 스마트 모드 사용)

-> Subtitles(자막) : English 선택( 원하는 자막 언어 선택)

( 참고로 Quality는 영상의 품질 선택입니다. 저는 720p 이상을 추천합니다.)






Posted by 고무함지
,

파이썬, 3.6 버전 기준에서그림을 그려보려 한다.

그림은 수직선이 왼쪽에서 오른쪽으로 반복 이동함.

 

1) 그림을 그리기 위한 matplotlib 라이브러리를 다운로드하자.

* 윈도우 커멘드 창에서 : pip install matplotlib

* 다운로드 후 확인해보면, matplotlib-3.0.2 버전을 받음


2) 코드 작성을 한다.

코드는 다음 사이트 에서 좀 수정한 내용입니다. :https://stackoverrun.com/ko/q/12087716

코드 변수명등이 매끄럽지 않네요. 추후 정리 필요할 듯...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import matplotlib.pyplot as plt 
import numpy as np 
from matplotlib.animation import FuncAnimation 
 
list_var_points = (0123456789101112131415)
 
 
fig, ax = plt.subplots() 
xfixdata, yfixdata = 715 
xdata = 0
ydata = 0
 
# line width
plt.rcParams['lines.linewidth'= 20
# plot의 여백 삭제, 박스를 전체 크기로
plt.subplots_adjust(left=0, bottom=0, right=1, top=1, wspace=0, hspace=0)
ln, = plt.plot('ro-', animated=True)
 
def init(): 
    ax.set_xlim(015
    ax.set_ylim(015
    return ln, 
 
def update(frame): 
    ydata = list_var_points[frame] 
# (시작선x, 끝선x), (시작선y, 끝선y)
    ln.set_data([ydata,ydata], [yfixdata,xdata])    
    return ln,   
 
# ani = FuncAnimation(fig, update, interval=100, frames=range(len(list_var_points)), 
#      init_func=init, blit=True)
ani = FuncAnimation(fig, update, frames=range(len(list_var_points)), 
      init_func=init, blit=True) 
 
plt.show() 
 
cs



< 아래의 파란 선이 왼쪽에서... 오른쪽으로 반복 이동 함>



기타 참고 자료 : 

https://financedata.github.io/posts/faq_matplotlib_default_chart_size.html

https://matplotlib.org/users/customizing.html


추후 애니메이션 효과가 더 필요하다면

game 라이브러리를 사용하는 것이 더 좋지 않을까 함

참고 : http://programarcadegames.com/index.php?chapter=bitmapped_graphics_and_sound 





 


Posted by 고무함지
,

C언어에서...

어떤 기능이 잘 동작하고 있는지 감시하기 위해서 저는 종종 

static 변수를 사용합니다.


그 예를 한번  설명 드립니다.

다음과 같은 코드가 있습니다.  0.2초마다, 온도를 보고, 높은 온도가 되면 냉각 Fan을 돌립니다.

만약... 디버깅을 위해 print를 넣는다면 0.2초마다 프린트문이 나오는데, 

이 너무 빨리 자주  발생되는 디버깅은 ... 시스템을 느리게할 수 있고, 

프린트들이 추가로 더 들어갈 경우... 내용을 보기 매우 어려워집니다.


void main( void )

{

    int temperature =  0;

    while( 1 )

    {

        temperature = GetTemperature();

        if( temperature > 60)  // 온도가 60도를 넘으면, 냉각 Fan을 100 속도로 돌린다.

            SetFanSpeed( 100 ); 

        else  // 60도 이하에선 Fan을 Off ( 0 속도) 로 한다.

            SetFanSpeed( 0 );

        

      delay( 0.2); // 0.2 초 기다리고 다시 동작...

      printf(" Temp:%d \n", temperature);

    }

}


그래서 저는 아래와 같이 static 변수를 사용해서 디버깅을 합니다.

그러면... 보고자 하는 프린트문이... 아주 많이 찍히지 않고,

간간히 찍힙니다. 아래 빨간 내용 참고하세요.

특히나 CPU리소스가 작은 Embedded system에서는 아래와 같이

프린트문이 너무 많이.. 빨리.. 찍히지 않도록 하는 것이 중요합니다.


void main( void )

{

    int temperature =  0;

    while( 1 )

    {

        temperature = GetTemperature();

        if( temperature > 60)  // 온도가 60도를 넘으면, 냉각 Fan을 100 속도로 돌린다.

            SetFanSpeed( 100 ); 

        else  // 60도 이하에선 Fan을 Off ( 0 속도) 로 한다.

            SetFanSpeed( 0 );

        

      delay( 0.2); // 0.2 초 기다리고 다시 동작...

     {

         static int count = 0;

         if( (count%50 ) == 0)   // 0.2 초 * 50 = 10초에 한번 온도값을 본다.

         printf(" Temp:%d \n", temperature);

    count ++; // count 증가

     }

    }

}





Posted by 고무함지
,