Microsoft MVP성태의 닷넷 이야기
Camtasia - "변경된" 볼륨을 일괄 설정하는 방법 [링크 복사], [링크+제목 복사],
조회: 3973
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 

Camtasia - "변경된" 볼륨을 일괄 설정하는 방법

Camtasia를 사용해 오디오를 편집하는 경우,

camtasia_volume_1.png

위의 그림을 보면 3가지 구역으로 나뉘는데요,

  1. 가장 좌측 구역: 볼륨 게이지를 변경한 경우,
  2. 중간 구역: Audio Point를 추가하고 볼륨 게이지를 변경한 경우,
  3. 우측 구역: 기본 볼륨 상태인 경우,

위에서 첫 번째와 두 번째 경우는 "변경"의 값을 보관하기 위해 "volume"이라는 값이 추가됩니다.

"parameters": {
    "volume": {
        "type": "double",
        "keyframes": [
            {
                "endTime": 0,
                "time": 0,
                "value": 0.3,
                "duration": 0
            },
            {
                "endTime": 6232800000,
                "time": 6232800000,
                "value": 0.3,
                "duration": 0
            },
        ]
    }
},

위에서는 그 값이 "0.3"인데, 따라서 "30%"의 출력으로 바뀐 것으로 그림에서는 "중간 구역"의 설정에 해당합니다.

재미있는 건, 3번째 경우입니다. 이런 경우는 명시적인 "volume" 값이 아니라 단순히 "gain"이라는 값이 1.0으로만 설정돼 있습니다.

"id": 30,
"_type": "AMFile",
"src": 1,
"trackNumber": 2,
"attributes": {
    "ident": "01",
    "gain": 1.0,
    "mixToMono": false,
    "loudnessNormalization": true,
    "sourceFileOffset": 0
},

이 값은 오디오의 속성 창에서 변경 가능한 "Gain" 값을 반영합니다. 따라서 만약에 위의 구역을 선택하고 Gain을 다음과 같이 "200%"로 바꾸면,

camtasia_volume_2.png

해당 값은 "gain"이 2.0으로 반영됩니다. 즉 "volume" 값이 생성되지는 않고 "gain"만 변경되는 것입니다.




이로 인해, 오디오를 일괄적으로 변경하려면 2가지 방법으로 나뉩니다.

  1. 사용자가 단순히 gain 값만을 변경하거나, 기본 값인 경우
  2. 사용자가 오디오 레벨을 명시적으로 설정한 경우

우선, 위의 첫 번째 방식으로 변경했다면 단순히 해당 구역을 다중 선택(구역을 드래그 하거나, Ctrl+Shift 키와 함께 클릭)으로 지정하고 오디오 속성에서 "Gain"을 변경하면 됩니다.

재미있는 건, "Gain"으로 변경한 것은 "volume"에는 반영되지 않는다는 점입니다. 즉 위의 두 번째 방식으로 설정된 구역의 "volume"은 "Gain"과는 무관합니다.

문제는, "volume"을 일괄 변경하는 방법이 (제가 모를 수도 있지만) Camtasia에 아직 제공되지 않습니다. 어쩔 수 없이 일일이 구역 하나하나를 선택하고 모두 바꿔야 하는데요, 다행히 Camtasia가 유지하는 프로젝트 파일인 tscproj가 json 형식을 따르기 때문에 다음과 같이 간단한 파이썬 코딩으로 일괄 변경할 수 있습니다.

import json
f = open("test.tscproj")
new_file = open("new.json", "w")

data = json.load(f)

timeline = data['timeline']
sceneTrack = timeline['sceneTrack']

new_volume = 1.0

for scene in sceneTrack['scenes']:
    csml = scene['csml']
    for track in csml['tracks']:
        trackIndex = track['trackIndex']
        for media in track['medias']:
            if 'parameters' in media:
                parameters = media['parameters']
                if 'volume' in parameters:
                    volume = parameters['volume']
                    if isinstance(volume, float):
                        parameters['volume'] = new_volume
                    else:
                        volume_type = volume['type']
                        if volume_type == 'double':
                            for key_frame in volume['keyframes']:
                                keyframe_value = key_frame['value']
                                if isinstance(keyframe_value, float):
                                    key_frame['value'] = new_volume

json.dump(data, new_file, indent=4)

f.close()
new_file.close()

위의 스크립트는 test.tscproj 파일을 읽어 "new.json" 파일로 저장하는데, 이때 test.tscproj에 포함된 모든 "volume"의 값을 1.0(100%)로 바꾸게 됩니다.

간단하죠? ^^









[최초 등록일: ]
[최종 수정일: 11/6/2022]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




1  2  3  4  5  6  7  8  9  10  11  [12]  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
253정성태5/6/200912354같이 일한다는 것!!! [1]
252정성태4/27/200912379Extreme commuter
251정성태4/22/200912836ICIQ
250정성태4/18/200914125EFT(Emotional Freedom Techniques)
249정성태4/14/200913941부다피아 수진스님 금강경 법문 비디오 링크 모음 [1]파일 다운로드1
248정성태4/12/200917606데프콘 프로 삭제하는 방법 [3]
247정성태4/11/200929185데프콘 프로 삭제하는 방법 - 시행착오
246정성태4/11/200912928WindowsMonkey2 도구 소개
245정성태4/11/200911994Productivity Future Vision
244정성태4/5/200917987알툴바 1.41 버전과 IE 8의 충돌 및 임시 해결방법
243정성태3/29/200913737전기 잡아 먹는 귀신 - 웹 페이지
242정성태3/21/200912125P4 2.4G CPU 1개, 40GB 하드 2개, 80GB 하드 1개 필요하신 분! [1]
241정성태3/14/200917461새 컴퓨터 사양 ^^
240정성태2/25/200912437새로운 모습으로 재구성된 Visual Studio 2010 [2]
239정성태2/22/200912716Oxite - 포스트 편집/삭제, RSS 구독 버튼 [1]
238정성태2/22/200913724Oxite와 Windows Live Writer [1]
237정성태2/20/200915764조립할 PC 사양 - 평가 부탁드립니다. ^^ [2]
236정성태2/19/200915293마이크로소프트의 설치형 블로그 Oxite - 설치 가이드
235정성태2/14/200915818정토회 법륜스님 금강경 법문 비디오 링크 모음 [2]파일 다운로드1
233정성태2/14/200919824VPN 연결 [1]
232정성태2/12/200911963집안 분위기. [1]
231정성태2/5/200916515도스 명령어: cd
230정성태2/3/200911585PInvoke.net - Internet Explorer 검색 공급자
229정성태2/3/200911827by design
228정성태1/31/200912216Windows 7 베타 바탕 화면의 물고기는?
227정성태1/29/200916874파수닷컴 DRM, fph.exe 제거하는 방법
1  2  3  4  5  6  7  8  9  10  11  [12]  13  14  15  ...