Python as module video editing
Blender uses ffmpeg to handle video formats, you can check that it was built with ffmpeg enabled by entering getattr(bpy.app.build_options,'codec_ffmpeg') into blender's Python console.

For your script --

self.scene.camera = None
for obj in self.scene.objects:
    self.scene.objects.unlink(obj)


This will remove all objects from the current scene yet you follow it with creating a new scene -

self.scene.sequence_editor_create()
self.ops.scene.new(type='NEW')
bpy.data.scenes['Scene'].render.resolution_x=1280


You create a new scene and set the resolution on the scene called 'Scene' - as that is the name of the first scene in blender this won't be the name of the scene you just created. By creating a new scene you will have a scene without objects - sounds better than the previous step of unlinking everything.

Try 

myScene = bpy.data.scenes.new('myscene')
myScene.render.resolution_x = 1280


Operators depend on the context to perform tasks, normally this includes the current window, which you aren't going to have if you are running the script headless.

Instead of using operators -

myScene.sequence_editor_create()

myImageStrip = myScene.sequence_editor.sequences.new_image(name = 'imgStrip', filepath = '/tmp/image001.png', channel = 1, frame_start = 1)
myImageStrip.frame_final_duration = 5

myMovieStrip = myScene.sequence_editor.sequences.new_movie(name = 'firstClip', filepath = '/tmp/test.mp4', channel = 2, frame_start = 1)