wolfgangw / digital_cinema_tools

Collection of useful scripts and notes for an open source based digital cinema pipeline
https://github.com/wolfgangw/digital_cinema_tools/wiki
94 stars 41 forks source link

cinemaslides: SoX memory leak? (How to efficiently do channel mapping?) #10

Open XanderLo opened 12 years ago

XanderLo commented 12 years ago

Hello,

First of all, many thanks for the free DCP creation solution that supports 96kHz audio and encryption/KDM! I have a specific need where I need to have audio on channel 13 of the DCP. I read all the documentation I could find on the digital_cinema_tools and digital_cinema_tools_distribution repos and I figured (please correct me if I'm wrong) that the mapping is done via the provided wave file channel configuration: i.e. a 16-channel wave would map to a 16-channel DCP.

Moreover, by looking at the cinemaslides script, I'd need to change the SMPTE_AUDIO_LABEL assignation to "16" instead of the limited choices of either 2.0, 5.1 or 7.2.

For now, the problem I'm having seems to be with the memory-intensive operation sox_conform. Even with 4GB of RAM, the 16-channel 1.8GB wave file cannot get processed and cinemaslides fails with the following error:

dbox@ubuntu:~/Documents/TestDCP$ cinemaslides -t dcp -o TEST_DCP3 -x cut,788 dbox2k.tiff CombinedAudioWave.wav

Do you know of a more efficient way to do the audio channel mapping? Some other DCP creation solutions require mono waves and they are assigned to specific channels. I think that would be ideal.

Below is the output of digital-cinema-tools-setup and my Ruby version is 1.9.3-p194. Thanks in advance for your help!

digital-cinema-tools-setup v1.2012.06.17 OS: ubuntu build-essential: OK curl: OK libxslt1-dev: OK libxml2-dev: OK libexpat1-dev: OK xmlsec1: OK libreadline-dev: OK zlib1g: OK zlib1g-dev: OK libssl-dev: OK imagemagick: OK mplayer: OK sox: OK git-core: OK libtiff4-dev: OK libpng12-dev: OK source $HOME/.bash_profile bashrc: OK PATH: /home/dbox/.digital_cinema_tools/.bin available in PATH rbenv: OK gem: --no-ri --no-rdoc gemrc: OK remote: Counting objects: 32, done. remote: Compressing objects: 100% (13/13), done. remote: Total 23 (delta 12), reused 17 (delta 6) Unpacking objects: 100% (23/23), done. From git://github.com/sstephenson/ruby-build 6e491b8..16c894f master -> origin/master Updating 6e491b8..16c894f Fast-forward README.md | 2 +- share/ruby-build/jruby-1.7.0-preview1 | 2 +- share/ruby-build/rbx-2.0.0-dev | 1 - 3 files changed, 2 insertions(+), 3 deletions(-) ruby-build: OK Ruby: OK Nokogiri: OK true true Nokogiri: OK openjpeg: OK asdcplib: OK Digital cinema tools distribution: Pulling updates ... Already up-to-date. Digital cinema tools distribution: cinemaslides OK Digital cinema tools distribution: dc_crypto_context.rb OK Digital cinema tools distribution: dcp_inspect OK Digital cinema tools distribution: kdm-decrypt.rb OK Digital cinema tools distribution: make-dc-certificate-chain.rb OK Digital cinema tools distribution: public_key_thumbprint.rb OK Digital cinema tools distribution: signature_check.rb OK Digital cinema tools distribution: x509_extract.rb OK Digital cinema tools distribution: x509_inspect.rb OK Digital cinema tools distribution: xsd-check.rb OK Digital cinema tools distribution: digital-cinema-tools-setup OK cinemaslides: Required gem highline OK cinemaslides: CINEMASLIDESDIR is set. OK cinemaslides: CINEMACERTSTORE is set. OK Local certificate store: Required certificates found Local certificate store: OK set show-all-if-ambiguous on Tab completion: Fastpath set to on. Leaving untouched. OK digital-cinema-tools-setup: OK

digital-cinema-tools-setup: Done

wolfgangw commented 12 years ago

Hi, out of town for the remainder of this month. I'll look at this as soon as I'm free. Thanks for the feedback so far.

wolfgangw commented 12 years ago

Note to self: See http://dcinemaforum.com/forum/index.php?topic=169.msg1613#msg1613 for the related topic on dcinemaforum