melt

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revisionBoth sides next revision
melt [2015/04/17 17:21] – [dg50 encoding] bjoernmelt [2018/06/14 01:52] – [shotcut/kdenlive project file rendern] andi
Line 1: Line 1:
 += melt encoding sniplets
  
 +siehe auch https://www.mltframework.org/plugins/ConsumerAvformat/
 +
 +== VOC export profile encoding profile
 +<code>
 +<consumer pix_fmt="yuv420p" rescale="bilinear" width="1920" aspect="1,77778" top_field_first="2" preset="medium" f="mp4" flags2="-dct8x8" g="13" maxrate="5000k" bufsize="8192k" threads="0" vcodec="libx264" progressive="1" real_time="-3" bf="2" ab="192k" target="/mnt/usb/lnp256_fade2b.mp4" vpre="medium" r="50" height="1080" minrate="100k " acodec="aac" deinterlace_method="yadif" crf="21" ar="48000" vprofile="main" movflags="+faststart" mlt_service="avformat"/>
 +</code>
 +
 +== group sniplets to uncut.mlt
 +<code>
 +melt -consumer xml babylon-2018-05-26_21-08-38-22834.ts babylon-2018-05-26_21-11-38-22834.ts > uncut.mlt
 +</code>
 +
 +
 +== dg50 encoding
 +Direkter encode aus den fuse-ts files
 +<code>
 +/home/voc/Shotcut.app/melt -progress -track \
 + /video/datengarten/intros/50.ts \
 +/opt/crs/fuse/datengarten/hd-capture-2/50/uncut.ts in=1857 out=$((1*60*60*25+3*60*25+52*25)) \
 +/opt/crs/fuse/datengarten/hd-capture-2/50/uncut.ts in=$((1*60*60*25+18*60*25+2*25)) out=162370 \
 + /video/datengarten/intros/outro.ts \
 + -attach-track frei0r.hqdn3d \
 + -consumer avformat:/video/datengarten/tmp/dg50-out3.mp4 f=mp4 acodec=aac ab=192k \
 + vcodec=libx264 crf=20 vminrate=100k vmaxrate=5000k vpreset="medium" \
 + movflags=+faststart bufsize=8192k pix_fmt=yuv420p threads=8
 +</code>
 +
 +Reencode des fertigen hd.mp4 um die pause herauszuschneiden (pause 1:04:00 -> 1:18:11)
 +<code>
 +melt -progress \
 + /video/datengarten/tmp/50-hd-camonly.mp4 in=0 out=96000 \
 + /video/datengarten/tmp/50-hd-camonly.mp4 in=117275 \
 + -consumer avformat:/home/voc/dg50-out.mp4 f=mp4 acodec=aac ab=192k vcodec=libx264 crf=20\
 + bufsize=8192k minrate=100k maxrate=5000k vprofile=main vlevel=4.0 movflags=+faststart pix_fmt=yuv420p
 +</code>
 +
 +== timvideo
 +<code>xvfb-run -a melt /encode-final/lca2014-intro.dv \
 + -filter watermark:"/encode-tmp/gentilli/101/101-title.png" \
 +  in=300 out=500 composite.progressive=1 producer.align=centre composite.valign=c  composite.halign=c \
 + /encode-tmp/gentilli/101/start-101.dv \
 + /encode-tmp/gentilli/101/2014-01-09_15-42-23.dv \
 + /encode-tmp/gentilli/101/2014-01-09_16-18-04.dv \
 + /encode-tmp/getilli/101/2014-01-09_16-21-59.dv \
 + /encode-fin1al/lca2014-exit.dv -consumer avformat
 +</code>
 +
 +== channel mapping
 +  melt ./${file[$i]} $INOUT -profile pal -filter channelcopy to=1 from=0 \
 +  -consumer avformat:./${output[$i]}.webm progress=1 vb=1000k quality=good deadline=good \
 +  deinterlace=1 deinterlace_method=yadif
 +
 +== shotcut/kdenlive project file rendern
 +
 +mono mp4 z.B. Repair mit Backup Recording aus Kamera rendern:
 +
 +  melt -progress -track --project 1005.mlt  -consumer avformat:./1005-cut.mp4 f=mp4 acodec=aac ab=192k channels=1 vcodec=libx264 crf=20 bufsize=8192k minrate=100k maxrate=5000k vprofile=main vlevel=4.0 movflags=+faststart pix_fmt=yuv420p
 +
 +  
 +== melt transcode (fosdem)
 +<code bash>
 +#!/bin/bash
 +#
 +#        (c) 2013-2015 Holger Levsen         holger@layer-acht.org
 +#        GPL2 licenced
 +
 +title[0]="Stretching out for trustworthy reproducible builds"
 +speaker[0]="Holger and Lunar"
 +file[0]="k1105_la_fontaine_a_31_142433.mp4"
 +begin_offset[0]="9385"
 +end_offset[0]="17913"
 +
 +
 +videos=1
 +
 +for i in $(seq 0 $videos) ; do
 + if [ -z "${file[$i]}" ] ; then 
 + continue
 + fi
 + if [ -z "${speaker[$i]}" ] ; then 
 + echo "${title[$i]} using ${file[$i]}"
 + output[$i]=$(echo ${title[$i]} | sed -s "s# #_#g" )
 + else
 + echo "${title[$i]} by ${speaker[$i]} using ${file[$i]}"
 + output[$i]=$(echo ${title[$i]} by ${speaker[$i]} | sed -s "s# #_#g" )
 + fi
 + echo "                 -> ${output[$i]}"
 + IN=""
 + OUT=""
 + # 25 frames per second
 + if [ ! -z ${begin_offset[$i]} ] ; then
 + IN="in=$(echo ${begin_offset[$i]}*25|bc)"
 + fi
 + if [ ! -z ${end_offset[$i]} ] ; then
 + OUT="out=$(echo ${end_offset[$i]}*25|bc)"
 + fi
 + INOUT="$IN $OUT"
 + echo $INOUT
 + if [ ! -f ./${output[$i]}.webm ] ; then
 + melt ./${file[$i]} $INOUT -profile pal -filter channelcopy to=1 from=0 \
 + -consumer avformat:./${output[$i]}.webm progress=1 vb=1000k quality=good \
 + deadline=good deinterlace=1 deinterlace_method=yadif
 + fi
 +done
 +</code>
  • melt.txt
  • Last modified: 2018/10/24 11:14
  • by bjoern