Tobias Simetsreiter 2 жил өмнө
parent
commit
c3de07b2a3
3 өөрчлөгдсөн 54 нэмэгдсэн , 8 устгасан
  1. 3 3
      filtergource.sh
  2. 41 0
      gourceffmpeg.py
  3. 10 5
      gourceffmpeg.sh

+ 3 - 3
filtergource.sh

@@ -1,4 +1,4 @@
-#!/usr/bin/bash
+#!/usr/bin/env bash
 
 OUTPUT="$1"
 shift
@@ -14,6 +14,6 @@ GOURCE_OPTS=(
     "--auto-skip-seconds" ".01" "--multi-sampling"
 )
 
-cat |awk "$@" |
+cat |
     gource "${GOURCE_OPTS[@]}" |
-    ffmpeg -y -r 60 -f image2pipe -vcodec ppm -i - -b:v 10000000 -vcodec libx264 -crf 24 "$OUTPUT"
+    ffmpeg -y -r 60 -f image2pipe -vcodec ppm -i - -b:v 10000000 -vcodec libx265 -crf 24 "$OUTPUT"

+ 41 - 0
gourceffmpeg.py

@@ -0,0 +1,41 @@
+#!/usr/bin/env python3
+
+from argparse import ArgumentParser,Namespace
+
+def main():
+    p = parser()
+    args = p.parse_args()
+    import sys
+    sys.exit(args.func(args) or 0)
+
+def parser():
+    p = ArgumentParser()
+    p.set_defaults(func=lambda x: p.print_help())
+    sub = p.add_subparsers()
+    p_render = sub.add_parser('render')
+    p_render.set_defaults(func=render)
+    p_render.add_argument('--gource', default='gource')
+    p_parse = sub.add_parser('parse')
+    p_parse.set_defaults(func=parse)
+    p_parse.add_argument('--split', type=int, default=100)
+    p_parse.add_argument('--source', default='')
+    p_parse.add_argument('--output', default='log/gource.log')
+    return p
+
+def parse(args: Namespace):
+    print(args)
+    from datetime import datetime
+    import tempfile
+    import os
+    now = datetime.now().timestamp()
+    timestamps = [int(i*now/args.split) for i in range(0,args.split)]
+    print(timestamps)
+    with tempfile.TemporaryDirectory(dir=os.path.dirname(args.output)) as tmpdir:
+        print(tmpdir)
+        logdir = os.path.join(tmpdir, 'log')
+
+def render(args: Namespace):
+    print(args)
+
+if __name__=='__main__':
+    main()

+ 10 - 5
gourceffmpeg.sh

@@ -1,3 +1,6 @@
+#!/usr/bin/env bash
+
+set -x
 INPUT="$1"
 shift
 
@@ -7,18 +10,20 @@ shift
 SPEED="$1"
 shift
 
+FFMPEG="${FFMPEG-ffmpeg}"
+GOURCE="${GOURCE-gource}"
+
 [ -z "$SPEED" ] && SPEED=0.05
 
 GOURCE_OPTS=(
     "--stop-at-end"
     "-s" "$SPEED" "--highlight-users" "--log-format" "custom"
-    "-1920x1080" 
-   #  "--start-date" "2010-01-01" 
+    "-1920x1080"
     "--file-idle-time" "0" "--no-vsync"
-    "--key" "--output-ppm-stream" "-"  "--output-framerate" "60" "$INPUT"
+    "--key" "--output-ppm-stream" "-" "--output-framerate" "60" "$INPUT"
     "--hide" "bloom,mouse,progress,filenames"
     "--auto-skip-seconds" ".01" "--multi-sampling"
 )
 
-gource "${GOURCE_OPTS[@]}" |
-    ffmpeg -y -r 60 -f image2pipe -vcodec ppm -i - -b:v 10000000 -vcodec libx264 -crf 24 "$OUTPUT"
+"$GOURCE" "${GOURCE_OPTS[@]}" |
+    "$FFMPEG" -y -r 60 -f image2pipe -vcodec ppm -i - -b:v 10000000 -vcodec libx265 -crf 24 "$OUTPUT"