예제 #1
0
 def __discover(self,filepath):
     discoverer = Discoverer(1*gst.SECOND)
     info = discoverer.discover_uri('file://'+filepath)
     self.duration = info.get_duration() / 1000000000
     log.info("Duration ON_DISCOVERED: "+str(self.duration))        
     self.run_pipeline()
     return True
예제 #2
0
파일: utils.py 프로젝트: Eyepea/TimeSide
def get_media_uri_info(uri):

    from gst.pbutils import Discoverer
    from gst import SECOND as GST_SECOND
    from glib import GError
    #import gobject
    GST_DISCOVER_TIMEOUT = 5000000000L
    uri_discoverer = Discoverer(GST_DISCOVER_TIMEOUT)
    try:
        uri_info = uri_discoverer.discover_uri(uri)
    except GError as e:
        raise IOError(e)
    info = dict()

    # Duration in seconds
    info['duration'] = uri_info.get_duration() / GST_SECOND

    audio_streams = uri_info.get_audio_streams()
    info['streams'] = []
    for stream in audio_streams:
        stream_info = {'bitrate': stream.get_bitrate(),
                       'channels': stream.get_channels(),
                       'depth': stream.get_depth(),
                       'max_bitrate': stream.get_max_bitrate(),
                       'samplerate': stream.get_sample_rate()
                       }
        info['streams'].append(stream_info)

    return info
예제 #3
0
파일: utils.py 프로젝트: ma4ank/TimeSide
def get_media_uri_info(uri):

    from gst.pbutils import Discoverer
    from gst import SECOND as GST_SECOND
    from glib import GError
    #import gobject
    GST_DISCOVER_TIMEOUT = 5000000000L
    uri_discoverer = Discoverer(GST_DISCOVER_TIMEOUT)
    try:
        uri_info = uri_discoverer.discover_uri(uri)
    except GError as e:
        raise IOError(e)
    info = dict()

    # Duration in seconds
    info['duration'] = uri_info.get_duration() / GST_SECOND

    audio_streams = uri_info.get_audio_streams()
    info['streams'] = []
    for stream in audio_streams:
        stream_info = {
            'bitrate': stream.get_bitrate(),
            'channels': stream.get_channels(),
            'depth': stream.get_depth(),
            'max_bitrate': stream.get_max_bitrate(),
            'samplerate': stream.get_sample_rate()
        }
        info['streams'].append(stream_info)

    return info
예제 #4
0
 def __discover(self, filepath):
     discoverer = Discoverer(1 * gst.SECOND)
     info = discoverer.discover_uri('file://' + filepath)
     self.duration = info.get_duration() / 1000000000
     log.info("Duration ON_DISCOVERED: " + str(self.duration))
     self.run_pipeline()
     return True