본문 바로가기

놀기/기초 공부14

[Shell Script] 시간 설정하기 (grep, head, regex) RTC가 없는가 없거나 시간 유지를 위한 배터리가 없는 시스템의 경우, 리부팅을 하면 시간을 다시 설정해야 한다. PC 메인보드의 배터리가 수명을 다했을 때, 시간 설정을 다시 해줘야 하는 것과 같은 것이라 생각하면 된다. 부팅하여 시간을 받을 NTP 서버가 있거나 시간을 주는 장치가 있다면 모르겠지만, 그렇지 않은 경우 직접 설정해야 한다. 이런 경우 좋은 방법은 아니지만 자구책으로 리부팅 후 시간 설정을 위한 정보 값을 남겨두는 방법을 사용할 수 있다. /tmp/lastdate 파일을 만들어 주기적으로 시간을 업데이트하고 리부팅 후 해당 값을 사용하여 시간 설정을 하는 스크립트를 만들어 보자. 스크립트를 더 예쁘게 만들 수도 있겠지만 목적 달성이 목표이므로 간단히... #!/bin/sh # 먼저 /t.. 2023. 5. 27.
[FFMPEG] 프레임 추출하기 ffmpeg 소스에는 다양한 예제가 있다. 이 예제를 사용하면 간단히 프로그램을 만들 수 있고 ffmpeg / ffplay 소스 코드를 사용하여 입맛에 맞는 좋은 프로그램도 만들 수 있다. 물론, 노력과 시간이 필요하겠지만. 어쨌든, 이번에는 ffmpeg 내에 있는 decode_simple.c / decode_simple.h를 사용하여 동영상의 프레임을 저장하는 예제를 간단히 만들어 봤다. 프레임을 뽑아 YUV로 저장하는 예제인데, 아래와 같이 YUV Viewer로 확인 가능하다. 2023.02.15 - [놀기/잡스러운 것] - YUV Viewer YUV Viewer 예전에는 YUV Viewer도 입맛에 맞는 것이 없었고 쓸만한 것은 유료였는데, 요즘은 이런 좋은 프로그램이 있네.. ㅎㅎ https://.. 2023. 2. 15.
[FFMPEG] Error Codes (-1094995529) avcodec_send_packet() 실행 후, -1094995529 에러 발생 -1094995529 → -0x41444E49 0x41 → A 0x44 → D 0x4E → N 0x49 → I FFERRTAG( 'I','N','D','A') → AVERROR_INVALIDDATA avcodec_send_packet()의 반환값 중 하나인 아래에 해당하는 오류 AVERROR(EINVAL): codec not opened, it is an encoder, or requires flush https://ffmpeg.org/doxygen/trunk/group__lavu__error.html FFmpeg: Error Codes This is semantically identical to AVERROR_BUG it.. 2023. 2. 14.
libcurl을 사용하여 Web Page 받기 https://curl.se/libcurl/ libcurl - the multiprotocol file transfer library libcurl - the multiprotocol file transfer library libcurl is a free and easy-to-use client-side URL transfer library, supporting DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, POP3, POP3S, RTMP, RTMPS, RTSP, SCP, SFTP, curl.se curl은 모든 개발자가 애용하는 프로그램 중의 하나다. 굳이 라이브러리를 호출하지 않고 외부 프로그램으.. 2023. 2. 13.