Skip to content

Instantly share code, notes, and snippets.

@SAPikachu
Created December 21, 2011 04:20
Show Gist options
  • Save SAPikachu/1504560 to your computer and use it in GitHub Desktop.
Save SAPikachu/1504560 to your computer and use it in GitHub Desktop.
extract images from m2ts
----------------- extract.cmd -----------------
setlocal
set TMPDIR=%CD%\temp\%~n1
set OUTDIR=%CD%\output\%~n1
md %TMPDIR%
tsmuxer "%~f1" | parse_track.py "V_MPEG4/ISO/AVC, %~f1, fps=23.976, insertSEI, contSPS, track={}"> "%TMPDIR%\file.meta"
tsmuxer "%TMPDIR%\file.meta" "%TMPDIR%"
set VIDEO=
for %%f in ("%TMPDIR%\*.264") do set VIDEO=%%f
if "%VIDEO%"=="" (
echo Can't extract video from %~f1
GOTO :EOF
)
mkvmerge -o “%TMPDIR%\video.mkv” -d 0 "%VIDEO%"
md "%OUTDIR%"
echo FFVideoSource("%TMPDIR%\video.mkv").ConvertToRGB("Rec709").ImageWriter("%OUTDIR%\", type="png") > "%TMPDIR%\script.avs"
avs2avi "%TMPDIR%\script.avs" -o n -c null
endlocal
---------------------------- parse_track.py -----------------------------------
import sys, re
print(sys.argv[1].format(re.search(r"^Track ID:\s+(\d+)\s*$", sys.stdin.read(), re.M).group(1)))
---------------------------- Usage ---------------------------------------------
for %x in (raw\*.m2ts) do extract.cmd %x
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment