{"id":146,"date":"2013-05-21T02:26:01","date_gmt":"2013-05-20T17:26:01","guid":{"rendered":"http:\/\/www.uturtle.com\/blog\/?p=146"},"modified":"2013-12-17T02:33:51","modified_gmt":"2013-12-16T17:33:51","slug":"wowza-media-server%ec%97%90%ec%84%9c-soundmixer-computespectrum-%ed%95%a8%ec%88%98%ea%b0%80-%ec%9e%91%eb%8f%99%ed%95%98%ec%a7%80-%ec%95%8a%eb%8a%94-%ea%b2%bd%ec%9a%b0","status":"publish","type":"post","link":"https:\/\/www.jinukbaek.com\/blog\/ko\/archives\/146","title":{"rendered":"Wowza Media Server\uc5d0\uc11c SoundMixer.computeSpectrum() \ud568\uc218\uac00 \uc791\ub3d9\ud558\uc9c0 \uc54a\ub294 \uacbd\uc6b0"},"content":{"rendered":"<p>\uc778\ud130\ub137 \uc601\uc0c1 \uc2a4\ud2b8\ub9ac\ubc0d \ud074\ub77c\uc774\uc5b8\ud2b8\ub97c \uc6f9\uc5d0\uc11c \uad6c\ud604\ud558\uae30 \uc704\ud574\uc11c\ub294 \uc5ec\ub7ec \uac00\uc9c0 \ubc29\ubc95\uc744 \uc774\uc6a9\ud560 \uc218 \uc788\ub2e4. \uadf8 \uc911\uc5d0\uc11c Flash\ub97c \uc774\uc6a9\ud558\uc5ec \ub9ce\uc774 \uad6c\ud604\uc744 \ud55c\ub2e4. \uadf8 \uc774\uc720\ub294 \ub300\ubd80\ubd84\uc758 \ube0c\ub77c\uc6b0\uc838\uc5d0\uc11c Flash\ub97c \uc9c0\uc6d0\ud558\uba70, \ube60\ub978 \uad6c\ud604\uc774 \uac00\ub2a5\ud558\uace0, \uc601\uc0c1 \uc2a4\ud2b8\ub9ac\ubc0d\uacfc \uad00\ub828\ub41c \ub9ce\uc740 \uae30\ub2a5\uc744 \uc9c0\uc6d0\ud558\uae30 \ub54c\ubb38\uc774\ub2e4. Flash\uc5d0\uc11c \uc2a4\ud2b8\ub9ac\ubc0d\uc744 \uc704\ud574 \ub9ce\uc774 \uc0ac\uc6a9\ud558\ub294 \ud504\ub85c\ud1a0\ucf5c\uc740 RTMP\ub77c\uace0 \ud558\ub294 \uac83\uc774 \uc788\ub2e4. <a href=\"http:\/\/en.wikipedia.org\/wiki\/Real_Time_Messaging_Protocol\">RTMP<\/a>\ub294 Macromedia\uc5d0\uc11c \uc601\uc0c1 \uc2a4\ud2b8\ub9ac\ubc0d \uc804\uc1a1\uc744 \uc704\ud574 \ub9cc\ub4e0 \uae30\uc220\ub85c\uc368 \uc774\ub97c \uc9c0\uc6d0\ud558\ub294 \uc11c\ubc84\uac00 \ub9ce\uc774 \uc874\uc7ac\ud55c\ub2e4.<\/p>\n<p>Flash\ub294 \ubcf4\uc548\uacfc \uad00\ub828\ud558\uc5ec \ub9ce\uc740 \uace0\ubbfc\uc744 \ud558\uc5ec \ub9cc\ub4e4\uc5b4 \uc84c\ub294\ub370, \uc774 \uc911 \ud558\ub098\uac00 RTMP\uc5d0\uc11c \ub4e4\uc5b4\uc628 \uc74c\uc131 \uc2a4\ud2b8\ub9bc\uc5d0 \ub300\ud55c \uc0d8\ud50c \ub370\uc774\ud130\uc5d0 \ub300\ud55c \ubcf4\uc548\uc774\ub2e4. \uc0d8\ud50c \ub370\uc774\ud130\ub294 SoundMixer\ub77c\ub294 \ud074\ub798\uc2a4\uc758 computeSpectrum()\uc774\ub77c\ub294 \ud568\uc218[1]\ub97c \uc774\uc6a9\ud558\uc5ec \uc54c\uc544\ub0bc \uc218 \uc788\ub2e4. \uc11c\ubc84\uc5d0\uc11c \ud5c8\uac00\ub97c \ud558\uc9c0 \uc54a\uc73c\uba74 RTMP\uc5d0\uc11c \ub4e4\uc5b4\uc628 \uc74c\uc131 \uc2a4\ud2b8\ub9bc \uc0d8\ud50c\uc744 \uc774\uc6a9\ud560 \uc218 \uc5c6\uac8c \ub41c\ub2e4. \u00a0\uc18c\ub9ac\uac00 \ub098\uc624\ub294\ub370 computeSpectrum()\uc758 \uacb0\uacfc\uac12\uc774 &#8216;0&#8217;\uc73c\ub85c\ub9cc \ucc44\uc6cc\uc838\uc11c \ub9ac\ud134\ub418\ub294 \uac83\uc774\ub2e4. \u00a0\uc774 \ud3ec\uc2a4\ud305\uc5d0\uc11c\ub294 \uc774\ub97c WowzaMediaServer\uc5d0\uc11c \uc5b4\ub5bb\uac8c \ud574\uacb0\ud558\ub294\uc9c0\ub97c \uc54c\uc544 \ubcf8\ub2e4.<\/p>\n<p>\ubc29\ubc95\uc740 \uac04\ub2e8\ud558\ub2e4. WowzaMediaServer \uc124\uce58 \ub514\ub809\ud1a0\ub9ac \ubc11\uc758 conf \ub514\ub809\ud1a0\ub9ac\uc5d0\uc11c \uc124\uc815\uc744 \ubc14\uafb8\uace0 \uc2f6\uc740 \uc5b4\ud50c\ub9ac\ucf00\uc774\uc158(Application)\uc758 Application.xml \ud30c\uc77c\uc744 \ubcc0\uacbd\ud558\uba74 \ub41c\ub2e4. Root-&gt;Application-&gt;Client-&gt;Access-&gt;StreamAudioSampleAccess \uc124\uc815\uc5d0 *\ub97c \ud45c\uc2dc\ud558\uba74 \uc774 \ubb38\uc81c\uac00 \ud574\uacb0\ub41c\ub2e4 [2]. \uc774 \ubb38\uc81c\ub294 crossdomain.xml[3]\uacfc \uad00\ub828\ub41c \ubb38\uc81c\uc640\ub294 \ubcc4\uac8c\uc758 \uac83\uc73c\ub85c \uc54c\ub824\uc838 \uc788\ub2e4.<\/p>\n<pre class=\"lang:default decode:true\">&lt;Client&gt;\r\n     &lt;IdleFrequency&gt;-1&lt;\/IdleFrequency&gt;\r\n     &lt;Access&gt;\r\n          &lt;StreamReadAccess&gt;*&lt;\/StreamReadAccess&gt;\r\n          &lt;StreamWriteAccess&gt;*&lt;\/StreamWriteAccess&gt;\r\n          &lt;StreamAudioSampleAccess&gt;*&lt;\/StreamAudioSampleAccess&gt;  &lt;!-- \uc774\ubd80\ubd84 \uc218\uc815 --&gt;\r\n          &lt;StreamVideoSampleAccess&gt;&lt;\/StreamVideoSampleAccess&gt;\r\n          &lt;SharedObjectReadAccess&gt;*&lt;\/SharedObjectReadAccess&gt;\r\n          &lt;SharedObjectWriteAccess&gt;*&lt;\/SharedObjectWriteAccess&gt;\r\n     &lt;\/Access&gt;\r\n&lt;\/Client&gt;<\/pre>\n<p>\ucc38\uace0 \uc790\ub8cc<\/p>\n<p>[1] SoundMixer \ud074\ub798\uc2a4(2013-05-21 02:02 KST\uc5d0 \ud655\uc778), \u00a0<a href=\"http:\/\/help.adobe.com\/en_US\/FlashPlatform\/reference\/actionscript\/3\/flash\/media\/SoundMixer.html\">http:\/\/help.adobe.com\/en_US\/FlashPlatform\/reference\/actionscript\/3\/flash\/media\/SoundMixer.html<\/a><\/p>\n<p>[2]\u00a0Example of how to use ComputeSpectrum with Wowza Media Server(2013-05-21 02:23 KST\uc5d0 \ud655\uc778),\u00a0<a href=\"http:\/\/www.wowza.com\/forums\/content.php?56-Example-of-how-to-use-ComputeSpectrum-with-Wowza-Media-Server\">http:\/\/www.wowza.com\/forums\/content.php?56-Example-of-how-to-use-ComputeSpectrum-with-Wowza-Media-Server<\/a><\/p>\n<p>[3] Cross-domain policy for Flash movies(2013-05-21 02:23 KST\uc5d0 \ud655\uc778),\u00a0\u00a0<a href=\"http:\/\/kb2.adobe.com\/cps\/142\/tn_14213.html\">http:\/\/kb2.adobe.com\/cps\/142\/tn_14213.html<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\uc778\ud130\ub137 \uc601\uc0c1 \uc2a4\ud2b8\ub9ac\ubc0d \ud074\ub77c\uc774\uc5b8\ud2b8\ub97c \uc6f9\uc5d0\uc11c \uad6c\ud604\ud558\uae30 \uc704\ud574\uc11c\ub294 \uc5ec\ub7ec \uac00\uc9c0 \ubc29\ubc95\uc744 \uc774\uc6a9\ud560 \uc218 \uc788\ub2e4. \uadf8 \uc911\uc5d0\uc11c Flash\ub97c \uc774\uc6a9\ud558\uc5ec \ub9ce\uc774<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[83],"tags":[],"class_list":["post-146","post","type-post","status-publish","format-standard","hentry","category-streaming-tech"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p8gT1J-2m","_links":{"self":[{"href":"https:\/\/www.jinukbaek.com\/blog\/wp-json\/wp\/v2\/posts\/146","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.jinukbaek.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.jinukbaek.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.jinukbaek.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.jinukbaek.com\/blog\/wp-json\/wp\/v2\/comments?post=146"}],"version-history":[{"count":4,"href":"https:\/\/www.jinukbaek.com\/blog\/wp-json\/wp\/v2\/posts\/146\/revisions"}],"predecessor-version":[{"id":150,"href":"https:\/\/www.jinukbaek.com\/blog\/wp-json\/wp\/v2\/posts\/146\/revisions\/150"}],"wp:attachment":[{"href":"https:\/\/www.jinukbaek.com\/blog\/wp-json\/wp\/v2\/media?parent=146"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.jinukbaek.com\/blog\/wp-json\/wp\/v2\/categories?post=146"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.jinukbaek.com\/blog\/wp-json\/wp\/v2\/tags?post=146"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}