mindau
2/10/2017 - 1:05 AM

Record stream with python m3u8 in 1h files

Record stream with python m3u8 in 1h files

#! python
import time
import subprocess as sp, sys
import urllib

def record():
    sourcePath ='https://url.m3u8'
    name = '_video.ts'

    destPath = time.strftime("%Y-%m-%d_%H-%M-%S", time.gmtime()) + name

    command = [ 'ffmpeg',
    '-y',  # (optional) overwrite output file if it exists
    '-hide_banner',
    '-loglevel', 'panic',
    '-i',
    sourcePath,
    '-vcodec', 'copy',
    '-acodec', 'copy',
    '-ss', '00:00:00.0',
    '-t', '01:00:00.0',
   # '-profile:v','high',
   # '-preset','slow',
   # '-threads', '2',
    destPath]

    returnExitCode = sp.call(command)

    if returnExitCode != 0:
        url_status = urllib.urlopen(sourcePath).getcode()
        if url_status != 200:
            print "Bad url response = " + str(url_status) + " Check source url"
        else:
            print  "Error in ffmpeg"
            print(returnExitCode)
        print "Waiting 10 seconds"
        time.sleep(10)
    else:
        print "ALL OK"
 
def main(argv):
    print "Program started..."
    while True:
        record()

if __name__ == "__main__":
    main(sys.argv)