All posts by manatails

게임영상편집 팁[미리보기 재설정]

게임영상편집 많이하시는분들,

막상 영상 촬영폴더로 들어가보면

mediapreview_

이런식으로 미리보기가 전부 앞부분이라서 어떤게 어떤 영상인지 구별하기 힘드셨죠?

이를 해결할수 있는 좋은 프로그램이 있습니다.

Media Preview라고 동영상 미리보기 설정을 바꿔주는 프로그램을 이용하면 됩니다.
프리웨어라 사용제한도 없고 기능도 많습니다.

우선 최신버젼을 다운받으셔서 설치하시고

mediapreview

설정 커스터마이즈 버튼을 누른뒤에 Position Seek를 90% 정도나 그 이상으로 설정해 영상의 끝부분을 미리보기로 지정하고 적용 버튼을 누릅니다.

mediapreview0

그리고 해당되는 영상 종류를 지정해 주시구요 적용 버튼을 눌러줍시다

mediapreview2

그러면 당장 폴더에 들어가도 전에 이미 생성된 미리보기만 보일텐데요, 미리보기 캐쉬를 삭제해서 새로운 미리보기가 생성되게 해줍니다.

mediapreview3

다 끝난후 이제 다시 폴더에 들어가보면 미리보기만 딱 봐도 어떤 장면인지 감이 오실겁니다. 불편하게 일일히 열어볼필요 없습니다.

Converting MP3/WAV to ulaw/GSM

When you want to convert typical MP3/WAV files for your PBX like Asterisk, you can use sox and lame to do it easily.


lame --decode somemp3file.mp3 output.wav

First, convert the MP3 to WAV file.

Then,
For u-law:

sox -V output.wav -r 8000 -c 1 -t ul result.ulaw

For GSM:

sox output.wav -r 8000 -c 1 result.gsm resample -ql

Pre-converting your input sound files usually give much better results than using internal modules for transcoding.

스팸신고결과

요즘 계속들어 불필요한 이메일 알림을 많이 받았습니다.

그런데 수신거부 버튼을 누르면 로그인 페이지만 나올 뿐 수신거부창이 나오지않는 광고메일때문에 이를 갈던도중 불법스팸신고센터에 간편신고가 가능한것을 보고 시도해봤습니다.

2주전쯤 처리상태가 소명자료요청으로 바뀌더니 처음 접수한지 한 달 가량이 지나서 드디어 답변이 왔네요.

spamcop

메일관리 대충대충 날로먹던 아x리버, 국x은행의 시스템관리자분 곤란하시겠어요. 하지만 진작에 조치를 취했어야죠.

http://www.spamcop.or.kr 이곳에서 신고하시면 됩니다. 처리가 바로 되는건 아니지만 기다리시면 결과를 알려줍니다.

US bank fees are ridiculous

Seriously, this is nonsense.

I forgot that I have a Paypal subscription that drew money from my savings account.
But I keep all my balance in the checking account so it kept draining the savings account balance and it eventually ran out.

Then I received $35 fee for Non Sufficient Funds.

bankscam

I did have overdraft protection linked to my checking account but I just now figured that it only works savings->checking and not vice versa.

Meh, one must be out of mind to think that the bank needs to collect that money because there is more stuff to be reconciled.
It might have been the case 100 years ago but it is plain scam to collect the very same amount of money in 21th century where computers do all the work.
And the trasaction is supposed to go through but with new laws they made it impossible to pay online services by overdraft account.
So that means I lost $35 for completely nothing.

Also, I discovered it only because I received a mail from Paypal for failed transaction notice. Otherwise if they didn’t let me know I would have been charged extra late fees.

I had 10 minute talk with the manager but had no success.

Anyway, people say that the overdraft protection service is quite misleading and it causes this to happen.
Proper way to prevent NSF fees is not to enroll in the overdraft protection, but to opt out of it.
In that case the transaction will simply be declined without any extra charges.

Screw you, Bank of America

SKT의 Band 1 (2.1GHz) LTE 정보

대략 3개월 전쯤부터 시내에 나가면 휴대폰에서 LTE가 잡히기 시작했습니다.
제가 지금 쓰는 엑스페리아 A는 LTE 밴드 1,19, 21밖에 지원을 안하는데 국내에서 잡힙니다. 일본전용인 밴드 19, 21은 제외하고 3G에 쓰이는 밴드1의 재활용일것이라 생각했습니다.
국내에는 3,5,8 밴드가 기존에 쓰이는것으로 알려져있습니다.

이번주부터 드디어 집에서도 새로운 밴드로 LTE가 사용이 가능해지더군요.

계측장비를 이용해서 어떤망인지 직접 확인한 결과를 올립니다. 제 예상대로 밴드 1이 맞습니다.

lte

자세하게 보고싶으신 분은 클릭하시면 원본화질로 보실 수 있습니다.

여기서 일반 사용자분들이 괄목할 정보들을 정리해 보자면..

우선 대역폭이 20MHz가 아닌 10MHz입니다.
EARFCN 150(2.125GHz Downlink) 한가지만 잡히고 다른 주파수는 잡히지 않습니다. 다른 통신사도 잡히지 않습니다.
레퍼런스 파워가 높지 않습니다. 12dBm에다가 10MHz의 블록수를 곱하면 enodeb에서 2W정도로 신호를 송출중이란 뜻인데 해외에 비해 확실히 망 구조가 조밀합니다.
하지만 일부 기지국만 2.1GHz를 가동중인듯 합니다.

LTE는 WCDMA와 같이 1.92MHz의 배수로 샘플링을 해야합니다
후.. 전에 장비에 전원을 잘못 연결하는 바람에 외장 GPS VCTCXO가 고장난 관계로 2의배수에서 소프트웨어 리샘플링을 하니 스캔하는데 시간이 오래 걸리네요.
조만간에 61.44MHz TCXO를 구입해서 지역별로 측정을 해봐야겠습니다.

지역별로 제가 다녀본 바로는 광역시 이상 시내쪽은 거의 잡힙니다.

대구 부산은 외곽도 어느정도 커버되고 있는듯 합니다.

그리고 요즘들어 몇몇 분이 호소하시는 수신률 문제도 이 때문으로 보입니다.
2.1ghz는 기지국이 기존망만큼 활성화가 되어있지 않다보니 이쪽으로 휴대폰이 접속되게 되면 수신률이 낮아 보이는 것입니다.
수신률이 캐리어 전체 수신률의 평균을 내는게 아닌 현재 접속되어있는 하나의 기지국 기준으로 계산을 하나 보니 생기는 현상입니다.
하지만 그렇다고 해서 기존 기지국이 사라지는게 아니고 수신률이 일정수준 이상으로 약해지면 기존망으로 핸드오버를 시도하니 크게 걱정하실 필요는 없으실듯 합니다.
하지만 잦은 핸드오버는 딜레이를 유발하고 배터리를 빨리 소모합니다.

Kicking spammers out of your Asterisk server

If you have your asterisk server connected to the public internet, there always will be some bad boys trying to brute-force into your PBX.

A few months before I found my asterisk server dead. Looking through the logs I was surprised to find that it was the spammers trying to brute force the password, eventually filling up the entire disk with error logs and crashing the server. Unfortunately that server operated on a single partition scheme with everything allocated for / .


[Sep 12 20:24:02] NOTICE[28190] chan_sip.c: Registration from '"249" ' failed for '37.8.53.84:10937' - No matching peer found
[Sep 12 20:24:02] NOTICE[28190] chan_sip.c: Registration from '"249" ' failed for '37.8.53.84:10937' - No matching peer found
[Sep 12 20:24:21] NOTICE[28190] chan_sip.c: Registration from '"497" ' failed for '37.8.53.84:5060' - No matching peer found
[Sep 12 20:24:21] NOTICE[28190] chan_sip.c: Registration from '"497" ' failed for '37.8.53.84:5060' - No matching peer found

Yesterday same thing happened again, but luckily I found it early enough to block it before it crashes the server.


iptables -I INPUT -s 37.8.53.84 -j DROP

I used iptables to filter out those garbage packets.
To view the blocked ip list use the following command.


iptables -n -L

It can be rather annoying when it comes to a production server where there are so many logs to inspect.
I recommend creating a script to automate the tasks if that is the case.

Setting arbitary destination IP for RTP packets (NAT mangling)

Gosh, those VoIP specs need to be more friendly to NAT!

In short, as RFC standards does not state anything about NAT, the server assumes that the IP included with SDP packets is the true WAN IP of the client, which is not the case in NAT scenarios and leads to problems.
This is a temporary workaround for getting voice packets go through NAT in OpenBSC. It would fix the one way audio that many people are experiencing.
I might try branching out from the main code for proper NAT support. IMO it is pretty riciculous to assume that picocells are connected to the internet directly, haha.

NAT mangling does not work with translated ports, so you need to turn off port translation in some routers.

Edit the following code

abis_rsl.c :

static void ipac_parse_rtp(struct gsm_lchan *lchan, struct tlv_parsed *tv)
{
	struct in_addr ip;
	uint16_t port, conn_id;

	if (TLVP_PRESENT(tv, RSL_IE_IPAC_LOCAL_IP)) {
		ip.s_addr = tlvp_val32_unal(tv, RSL_IE_IPAC_LOCAL_IP);
		DEBUGPC(DRSL, "LOCAL_IP=%s ", inet_ntoa(ip));
		lchan->abis_ip.bound_ip = ntohl(ip.s_addr);
	}

Add a section to replace the IP with proper one.

	if (TLVP_PRESENT(tv, RSL_IE_IPAC_LOCAL_IP)) {
		ip.s_addr = *((uint32_t *) TLVP_VAL(tv, RSL_IE_IPAC_LOCAL_IP));

		if (strcmp(inet_ntoa(ip), "/*internal IP*/") == 0)
		{
			DEBUGP(DRSL, "Overwriting internal IP to a real one\n");
			inet_aton("/*external IP*/", &ip);
		}

		DEBUGPC(DRSL, "LOCAL_IP=%s ", inet_ntoa(ip));
		lchan->abis_ip.bound_ip = ntohl(ip.s_addr);
	}

You should replace the internal IP with the internal IP of the nanoBTS. And external IP with the router’s IP as seen from the BSC

SGSN temporary MCC/MNC authentication hack

From gprs_gmm.c


                        char mccmnc[16];
                        snprintf(mccmnc, sizeof(mccmnc), "%03d%02d", ra_id.mcc, ra_id.mnc);
                        if (strncmp(mccmnc, mi_string, 5) &&
                            (sgsn->cfg.acl_enabled &&
                             !sgsn_acl_lookup(mi_string))) {
                                LOGP(DMM, LOGL_INFO, "Rejecting ATTACH REQUESET IMSI=%s\n",
                                     mi_string);
                                return gsm48_tx_gmm_att_rej_oldmsg(msg,
                                                                GMM_CAUSE_GPRS_NOTALLOWED);
                        }

It needs to be commented out to allow roaming IMSIs to receive PDP contexts