emanuelsteen/hsalf
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
Introduction
============
Hsalf, or reversed Flash, is a pure Python package to read and write Flash
file formats.
Hsalf supports SWF file, both compressed and uncompressed formats.
License
=======
Hsalf is released under the MIT license.
Example
=======
This example prints out file version, frame rate, and all tag codes::
from hsalf import swf
f = swf.SwfFile('screen.swf')
print f.header.file_header.version
print f.header.frame_header.frame_rate
for tag in f.iter_body():
print tag.tag_code
This function extracts frames from a Screen Video from a Flash movie::
def extract_screen_video(file_name, stream_id, dst_dir='.'):
import os
import Image
swf = SwfFile(file_name)
last_img = None
for tag in swf.iter_body():
if isinstance(tag, VideoFrameTag) and tag.stream_id == stream_id:
svp = ScreenVideoPacket().deserialize(
StringIO(tag.video_data))
if svp.frame_type == KEY_FRAME:
last_img = Image.new('RGB',
(svp.image_width, svp.image_height))
img = svp.to_image(last_img)
img.save('{0}{1}{2:05d}.png'.format(dst_dir, os.sep,
tag.frame_num))
last_img = img
There are some sample scripts to extract other materials from SWF file in
``scripts`` directory.