def testMuxAudioChannelsWithSilenceProfileFromInput_51(): """ Mux audio channels with generated silence, and generate one audio 5.1 stream """ # inputs inputFileName1 = os.environ['AVTRANSCODER_TEST_AUDIO_MOV_FILE'] inputFileName2 = os.environ['AVTRANSCODER_TEST_AUDIO_WAVE_FILE'] assert_not_equals(inputFileName1, inputFileName2) inputs = av.InputStreamDescVector() inputs.append(av.InputStreamDesc("", 0, 0)) # empty filename to generate silence inputs.append(av.InputStreamDesc(inputFileName1, 1, 0)) inputs.append(av.InputStreamDesc(inputFileName2, 0, 2)) inputs.append(av.InputStreamDesc("", 0, 0)) # empty filename to generate silence inputs.append(av.InputStreamDesc(inputFileName2, 0, 1)) inputs.append(av.InputStreamDesc("", 0, 0)) # empty filename to generate silence # output outputFileName = "testMuxAudioChannelsWithSilenceProfileFromInput_51.wav" ouputFile = av.OutputFile(outputFileName) transcoder = av.Transcoder(ouputFile) transcoder.addStream(inputs) progress = av.ConsoleProgress() processStat = transcoder.process(progress) # check process stat returned audioStat = processStat.getAudioStat(0) inputFile1 = av.InputFile(inputFileName1) inputFile2 = av.InputFile(inputFileName2) src_audioStream1 = inputFile1.getProperties().getAudioProperties()[0] src_audioStream2 = inputFile2.getProperties().getAudioProperties()[0] min_src_duration = min(src_audioStream1.getDuration(), src_audioStream2.getDuration()) assert_equals(min_src_duration, audioStat.getDuration()) # check dst file properties dst_inputFile = av.InputFile(outputFileName) dst_fileProperties = dst_inputFile.getProperties() assert_equals(min_src_duration, dst_fileProperties.getDuration()) # check dst audio streams dst_audioProperties = dst_inputFile.getProperties().getAudioProperties() assert_equals(1, len(dst_audioProperties)) assert_equals(6, dst_audioProperties[0].getNbChannels())
def testEmptyListOfInputs(): """ Add an empty list of inputs. """ # inputs inputs = av.InputStreamDescVector() # output outputFileName = "testEmptyListOfInputs.mov" ouputFile = av.OutputFile(outputFileName) transcoder = av.Transcoder(ouputFile) transcoder.addStream(inputs)
def testAllSeveralInputsWithDifferentType(): """ Add one video and one audio to create one output stream. """ # inputs inputs = av.InputStreamDescVector() inputs.append(av.InputStreamDesc(os.environ['AVTRANSCODER_TEST_AUDIO_MOV_FILE'], 0)) inputs.append(av.InputStreamDesc(os.environ['AVTRANSCODER_TEST_AUDIO_WAVE_FILE'], 0)) # output outputFileName = "testAllSeveralInputsWithDifferentType.mov" ouputFile = av.OutputFile(outputFileName) transcoder = av.Transcoder(ouputFile) transcoder.addStream(inputs)
def testAddSeveralInputsToCreateOneOutput(): """ Add several audio inputs and create one output stream. """ # inputs inputs = av.InputStreamDescVector() inputFileName = os.environ['AVTRANSCODER_TEST_AUDIO_WAVE_FILE'] inputFile = av.InputFile(inputFileName) src_audioStream = inputFile.getProperties().getAudioProperties()[0] src_audioStreamIndex = src_audioStream.getStreamIndex() inputs.append( av.InputStreamDesc(inputFileName, src_audioStreamIndex, (0, 1))) inputs.append( av.InputStreamDesc(inputFileName, src_audioStreamIndex, (2, 3))) inputs.append( av.InputStreamDesc(inputFileName, src_audioStreamIndex, (4, 5))) # output outputFileName = "testAddSeveralInputsToCreateOneOutput.mov" ouputFile = av.OutputFile(outputFileName) transcoder = av.Transcoder(ouputFile) transcoder.addStream(inputs) # process processStat = transcoder.process() # check process stat returned audioStat = processStat.getAudioStat(0) assert_equals(src_audioStream.getDuration(), audioStat.getDuration()) # get dst file of transcode dst_inputFile = av.InputFile(outputFileName) dst_properties = dst_inputFile.getProperties() dst_audioStream = dst_properties.getAudioProperties()[0] assert_equals(src_audioStream.getCodecName(), dst_audioStream.getCodecName()) assert_equals(src_audioStream.getSampleFormatName(), dst_audioStream.getSampleFormatName()) assert_equals(src_audioStream.getSampleFormatLongName(), dst_audioStream.getSampleFormatLongName()) assert_equals(src_audioStream.getSampleRate(), dst_audioStream.getSampleRate()) assert_equals(src_audioStream.getNbChannels(), dst_audioStream.getNbChannels())
def testMuxAudioChannelsFromDifferentFormatInputs_20(): """ Mux audio channels from different formats files, and generate one audio stereo stream """ # inputs inputFileName1 = os.environ['AVTRANSCODER_TEST_AUDIO_MOV_FILE'] inputFileName2 = os.environ['AVTRANSCODER_TEST_AUDIO_WAVE_FILE'] assert_not_equals(inputFileName1, inputFileName2) inputs = av.InputStreamDescVector() inputs.append(av.InputStreamDesc(inputFileName1, 1, 1)) inputs.append(av.InputStreamDesc(inputFileName2, 0, 2)) # output outputFileName = "testMuxAudioChannelsFromDifferentFormatInputs_20.wav" ouputFile = av.OutputFile(outputFileName) transcoder = av.Transcoder(ouputFile) transcoder.addStream(inputs, "wave24b48kstereo") progress = av.ConsoleProgress() processStat = transcoder.process(progress) # check process stat returned audioStat = processStat.getAudioStat(0) inputFile1 = av.InputFile(inputFileName1) inputFile2 = av.InputFile(inputFileName2) src_audioStream1 = inputFile1.getProperties().getAudioProperties()[0] src_audioStream2 = inputFile2.getProperties().getAudioProperties()[0] min_src_duration = min(src_audioStream1.getDuration(), src_audioStream2.getDuration()) assert_equals(min_src_duration, audioStat.getDuration()) # check dst file properties dst_inputFile = av.InputFile(outputFileName) dst_fileProperties = dst_inputFile.getProperties() assert_equals(min_src_duration, dst_fileProperties.getDuration()) # check dst audio streams dst_audioProperties = dst_fileProperties.getAudioProperties() assert_equals(1, len(dst_audioProperties)) assert_equals(2, dst_audioProperties[0].getNbChannels())
def testMuxAudioChannelsWithSilenceOnly_20(): """ Mux audio channels with generated silence, and generate one audio stereo stream """ # input inputs = av.InputStreamDescVector() inputs.append(av.InputStreamDesc("", 0, 0)) # empty filename to generate silence inputs.append(av.InputStreamDesc("", 0, 0)) # empty filename to generate silence # output outputFileName = "testMuxAudioChannelsWithSilenceOnly_20.wav" ouputFile = av.OutputFile(outputFileName) transcoder = av.Transcoder(ouputFile) transcoder.addStream(inputs, "wave24b48kstereo") progress = av.ConsoleProgress() processStat = transcoder.process(progress)
def testMuxAudioChannelsWithSilenceProfileFromInput_20(): """ Mux audio channels with generated silence, and generate one audio stereo stream """ # input inputFileName = os.environ['AVTRANSCODER_TEST_AUDIO_WAVE_FILE'] inputs = av.InputStreamDescVector() inputs.append(av.InputStreamDesc(inputFileName, 0, 0)) inputs.append(av.InputStreamDesc("", 0, 0)) # empty filename to generate silence # output outputFileName = "testMuxAudioChannelsWithSilenceNoProfile_20.wav" ouputFile = av.OutputFile(outputFileName) transcoder = av.Transcoder(ouputFile) transcoder.addStream(inputs) progress = av.ConsoleProgress() processStat = transcoder.process(progress) # check process stat returned audioStat = processStat.getAudioStat(0) inputFile = av.InputFile(inputFileName) src_audioStream = inputFile.getProperties().getAudioProperties()[0] assert_equals(src_audioStream.getDuration(), audioStat.getDuration()) # check dst file properties dst_inputFile = av.InputFile(outputFileName) dst_fileProperties = dst_inputFile.getProperties() assert_equals(src_audioStream.getDuration(), dst_fileProperties.getDuration()) # check dst audio streams dst_audioProperties = dst_fileProperties.getAudioProperties() assert_equals(1, len(dst_audioProperties)) assert_equals(2, dst_audioProperties[0].getNbChannels())