blob: 9a6542533dfb66f5bd15523422589822d3cdbcb4 (
plain)
- #!/bin/sh
- # Copyright © 2012-2014 Jonas Smedegaard <dr@jones.dk>
- # Description: post-process fast-recorded multitrack video
- #
- # This program is free software; you can redistribute it and/or modify
- # it under the terms of the GNU General Public License as published by
- # the Free Software Foundation; either version 3, or (at your option)
- # any later version.
- #
- # This program is distributed in the hope that it will be useful, but
- # WITHOUT ANY WARRANTY; without even the implied warranty of
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- # General Public License for more details.
- #
- # You should have received a copy of the GNU General Public License
- # along with this program. If not, see <http://www.gnu.org/licenses/>.
- #
- # Depends: libav-tools
- #
- # TODO: add --help option
- # TODO: make codecs, rates etc. configurable
- # TODO: include SMTPE channel
- # TODO: Check and ask if outfile already exist
- # TODO: Add --force option to skip asking for overwriting
- set -e
- input="${1:-dump.nut}"
- output="${2:-dump.mkv}"
- #vcodec=huffyuv # more common
- #vcodec=ffvhuff # more compact, supports YV12 colorspace
- vcodec=ffv1 # most compact, supports RGBA colorspace, too CPU-hungry
- acodec=pcm_s16le
- #vf="${vf:+$vf }-vf setpts=(RTCTIME-RTCSTART)/(TB*1000000)" # current time
- vf="${vf:+$vf }-vf hqdn3d" # high-quality denoise (good for webcams)
- #font='/usr/share/fonts/truetype/droid/DroidSans.ttf'
- #vf="${vf:+$vf }-vf "drawtext=fontfile=$font: timecode='09\:57\:00\:00': r=25: x=(w-tw)/2: y=h-(2*lh): fontcolor=white: box=1: boxcolor=0x00000000@1"}"
- #vf="${vf:+$vf }-vf "drawtext=fontfile=DroidSans.ttf:'timecode=09\:57\:00\:00':r=25:x=\(w-tw\)/2:y=h-\(2*lh\):fontcolor=white:box=1:boxcolor=0x00000000@1"}"
- inargs="-i file:$input"
- maps="-map 0"
- voutargs="-c:v $vcodec $vf ${outrate:+-r $outrate}"
- aoutargs="-c:a $acodec"
- echo avconv -threads auto $inargs $maps $voutargs $aoutargs -y "$output"
- exec avconv -threads auto $inargs $maps $voutargs $aoutargs -y "$output"
|