본문 바로가기

TIP

(8)
[FFPROBE] 동영상 길이 확인 - C#, Winform 영상을 이미지로 변환시킬 때 변환시킬 영상의 시작 시간과 끝 시간에 대해 예외처리를 할 일이 있어서 동영상 길이를 확인할 수 있는 방법을 찾아야 했다. 'NReco.VideoInfo'라는 라이브러리를 알게 되었고 이를 이용해서 성공적인 예외처리를 할 수 있었다. NReco.VideoInfo 설치 NuGet 패키지 관리 NReco.VideoInfo 설치 사용 FFProbe ffProbe = new FFProbe(); var videoInfo = ffProbe.GetMediaInfo("동영상 경로"); double videoDuration = Math.Floor(videoInfo.Duration.TotalSeconds); 위의 코드에서 Math.floor를 이용해서 동영상 길이를 버림하는 이유는 가끔 소수점..
[C#/Winform] 폴더 및 파일 선택 - CommonOpenFileDialog, OpenFileDialog, FolderBrowserDialog 유튜브 영상을 다운받고 이미지로 변환시켜주는 프로그램을 만들면서 경로를 설정하고 동영상 파일을 선택해야 하는 기능도 추가해야 하는 일이 있었다. 내가 찾아본 바로는 'OpenFileDialog', 'FolderBrowserDialog', 'CommonOpenFileDialog' 총 세가지 방법이 있다. OpenFileDialog private void button1_Click(object sender, EventArgs e) { var fileContent = string.Empty; var filePath = string.Empty; using (OpenFileDialog openFileDialog = new OpenFileDialog()) { openFileDialog.InitialDirectory ..
Youtube-dl 설치방법 및 명령어 정리 유튜브 영상을 다운받는 방법 중에 Youtube-dl을 사용하는 방법이 있다. 유튜브 영상을 다운받아서 상업적인 목적으로 사용할게 아니고 AI관련 프로젝트에서 학습시키는데 데이터가 너무 부족해서 유튜브 영상이라도 사용하려고 한다. youtube-dl을 설치하기 이전에 우선 ffmpeg을 설치해야 한다. 설치방법에 대한 해당 링크는 다음과 같다. 2020/07/17 - FFMPEG 설치방법 및 명령어 정리 - 동영상 자르기, 이미지 변환, 확장자 변환 FFMPEG 설치방법 및 명령어 정리 - 동영상 자르기, 이미지 변환, 확장자 변환 개인적으로 프로젝트를 진행하거나 회사에서 업무를 보면서 FFMPEG을 사용해야 하는 상황이 많이 있었다. 그래서 FFMPEG을 사용하면서 입력했던 명령어를 계속 추가할 예정이..
FFMPEG 설치방법 및 명령어 정리 - 동영상 자르기, 이미지 변환, 확장자 변환 개인적으로 프로젝트를 진행하거나 회사에서 업무를 보면서 FFMPEG을 사용해야 하는 상황이 많이 있었다. 그래서 FFMPEG을 사용하면서 입력했던 명령어를 계속 추가할 예정이다. 개요 곰, 다음팟, MX, VLC 등의 플레이어들이 모두 FFMPEG 라이브러리를 사용한다. FFMPEG 라이브러리를 사용했음을 About 대화상자나 메뉴얼에 고지할 의무가 있다. FFMPEG 설치 https://ffmpeg.org/ 에서 설치 위의 캡쳐화면대로 따라하면 쉽게 설치할 수 있다. FFMPEG Linking Linking 설명 Static 실행 파일안에 라이브러리가 모두 포함되어 있어 단독으로 실행 가능하다. 그러나 실행 파일이 각각 60M 정도 되어 용량을 많이 차지한다. Shared 코드나 DLL로 분리되어 있다..
Visual Studio 2019에서 기존 프로젝트 github에 push 방법 그동안 슬럼프라 해야하나... 퇴근하고 아무것도 하기싫어서 두 달 이상을 게임하고 빈둥빈둥대다가 회사에서 하던 AI 개발에 필요한 프로그램을 만들어보기 시작했다. 나한테 필요한 프로그램을 만들어서인지 다시 코딩에 흥미가 생겨서 만들던 프로젝트를 github에 업로드를 시켜놓기로 결심을 했다. 오랜만에 github을 사용해서 그런지.. push도 제대로 되지 않았다. 그래서 push를 하기 위해 삽질한 내용을 글로 남겨보려한다. 1. github에 push할 repository 생성 repository를 생성하는 방법은 생략한다. 2. Visual Studio에 'Github Extension for Visual Studio' 설치 확장 -> 확장 관리 클릭 'Github Extension for Visu..
[FaceBook] Graph API 실습(JavaScript) - 짱우의 코딩일기 - 티스토리 이번에는 Explorer를 써서 원하는 값을 가져오는게 아닌 JavaScript에서 코딩을 해서 원하는 데이터를 가져오는 것을 실습해보고 글로 남기려한다. 실습은 ASP.NET MVC 환경에서 진행했다. HTML 코드같은 경우에는 본인 입맛대로 만든 후에 따라해보는게 좋을 것 같다. 사용자가 로그인했을 때 로그인한 사용자의 이름과 아이디를 가져오는 실습, 사용자가 게시한 글을 가져오는 실습 두 가지에 대한 내용을 작성했다. 노드 읽기 작업은 거의 언제나 '노드'로 시작한다. 노드는 고유 ID를 갖는 개별 개체다. 예를 들어 각각 Facebook의 사용자를 나타내는 고유한 ID를 갖는 수많은 사용자 노드 개체가 있다. 노드를 읽으려면 특정 개체의 ID를 쿼리하면 된다. 사용자 노드를 읽으려면 사용자 노드의..
[FaceBook] Graph API 실습(Explorer) - 짱우의 코딩일기 - 티스토리 Graph API 사용 HTTP / 1.1 모든 데이터 전송은 HTTP/1.1을 따르며 모든 엔드포인트에는 HTTPS가 필요하다. Facebook에서 facebook.com의 includeSubdomains HSTS 지시문도 활성화했지만 그래프 API 호출에 악영향을 미치지 않는다. 액세스 토큰 액세스 토큰을 사용하면 앱에서 그래프 API에 액세스할 수 있다. 액세스 토큰은 일반적으로 두 가지 기능을 수행한다. 앱에서 사용자의 비밀번호가 없어도 사용자의 정보에 액세스할 수 있다. 앱, 앱 사용자, 사용자가 앱에 액세스할 수 있도록 허용한 데이터의 유형을 식별할 수 있다. 거의 모든 Graph API 앤드포인트에는 일종의 액세스 토큰이 필요하므로 엔드포인트에 액세스할 때마다 요청에 액세스 토큰을 포함해야 ..
[FaceBook] Graph API 기초 - 짱우의 코딩일기 - 티스토리 입사하기 전에 회사 다니게 되면 퇴근 후에 매일 관심있던 분야 공부를 해야지 라는 생각을 했었는데 막상 입사하고 보니 적응하고 여기저기 눈치봐서 그런지 퇴근하고 나면 매일 누워있었다. 더이상 이러면 안되겠다는 생각이 들어서 간단하게 API 부터 공부를 해보려고 결심을 했다. 그래서 입사하고 처음으로 공부를 시작한 분야는 FaceBook의 Graph API다. 모든 공부 내용은 Facebook Developer의 내용을 바탕으로 진행했다. 참고로 이 글은 기초적인 내용만 담았고 내가 실습해본 내용은 추후에 게시할 예정이다. 개요 Graph API는 Facebook 플랫폼에서 데이터를 가져오고 내보내는 기본 방법이다. 앱에서 프로그래밍 방식으로 데이터를 검색하고, 새 소식을 게시하고, 광고를 관리하고, 사진..