コード例 #1
0
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())
コード例 #2
0
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)
コード例 #3
0
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)
コード例 #4
0
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())
コード例 #5
0
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())
コード例 #6
0
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)
コード例 #7
0
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())