def writeFile(self, filename, stream, offset, size):
        # Create directory (only on first call)
        if not self.mkdir:
            self.createDirectory()
            self.mkdir = True

        # Create output file
        filename, real_filename = path.join(self.directory_unicode, filename), \
                                  path.join(self.directory_raw, filename)
        output = FileOutputStream(filename, real_filename=real_filename)

        # Write output
        try:
            output.copyBytesFrom(stream, offset, size // 8)
        except StreamError, err:
            error(u"copyBytesFrom() error: %s" % err)
Example #2
0
    def writeFile(self, filename, stream, offset, size):
        # Create directory (only on first call)
        if not self.mkdir:
            self.createDirectory()
            self.mkdir = True

        # Create output file
        filename, real_filename = path.join(self.directory_unicode, filename), \
                                  path.join(self.directory_raw, filename)
        output = FileOutputStream(filename, real_filename=real_filename)

        # Write output
        try:
            output.copyBytesFrom(stream, offset, size//8)
        except StreamError, err:
            error(u"copyBytesFrom() error: %s" % err)
Example #3
0
def main():
    if len(argv) != 2:
        print >>stderr, "usage: %s video.flv" % argv[0]
        exit(1)

    # Open input video
    inputname = unicode(argv[1], getTerminalCharset())
    parser = createParser(inputname)
    if parser["audio[0]/codec"].value != AUDIO_CODEC_MP3:
        print >>stderr, "Unknown audio codec: %s" % parser["audio[0]/codec"].display

    # Extract audio
    print "Extractor audio from: %s" % inputname
    outputname = inputname + ".mp3"
    output = FileOutputStream(outputname)
    for chunk in parser.array("audio"):
        data = chunk["music_data"]
        output.copyBitsFrom(data.parent.stream, data.absolute_address, data.size, data.parent.endian)
    print "Write audio into: %s" % outputname
Example #4
0
    def save_as(self, path):
        ''' Writes the media file out with edited values to specified path. '''
        if self.is_modified():
            from hachoir_editor import createEditor
            editor = createEditor(self.parser)
            self._update_fields(editor)
            writer = editor
        else:
            writer = self.parser

        from hachoir_core.stream import FileOutputStream
        stream = FileOutputStream(path)
        writer.writeInto(stream)
Example #5
0
def writeIntoFile(fieldset, filename):
    output = FileOutputStream(filename)
    fieldset.writeInto(output)
Example #6
0
 def saveInto(self, filename):
     output = FileOutputStream(filename)
     self.editor.writeInto(output)