def _start_record_nolock(self, rtmp_name):
rtmp_name = rtmp_name.lower()
if rtmp_name in self._recording_rtmps:
self._end_record_nolock(rtmp_name)
if rtmp_name in self._recording_rtmps:
console.warning(
'Error: tried to start a recording of racer <{0}>, but failed to end a previously '
'started recording.'.format(rtmp_name))
return None
curl = pycurl.Curl()
try:
new_buffer = BytesIO()
self._vodstart_buffers[rtmp_name] = new_buffer
self._set_def_curl_opts(curl)
curl.setopt(pycurl.URL, self._start_url(rtmp_name))
curl.setopt(pycurl.WRITEDATA, new_buffer)
curl.perform()
self._recording_rtmps.append(rtmp_name)
except pycurl.error as e:
console.warning(
'Pycurl error in start_record({0}): Tried to curl <{1}>. Error: {2}.'.format(
rtmp_name,
self._start_url(rtmp_name),
e))
finally:
curl.close()
评论列表
文章目录