[NUUG video] DV->WebM using gstreamer
Petter Reinholdtsen
pere at hungry.com
Sun Aug 16 12:04:58 CEST 2015
Hei. Tenkte flere kunne ha glede av dette scriptet, som jeg fant på
<URL: http://grep.be/blog//en/computer/play/Multi-pass_transcoding_to_WebM_with_normalisation/ >
og justerte til å fungere med både gstreamer 0.10 og 1.0. Jeg har
sjekket det inn i git-repoet til videogruppa.
#!/bin/bash
#
# From
# http://grep.be/blog//en/computer/play/Multi-pass_transcoding_to_WebM_with_normalisation/,
# rewritten to work with gstreamer 1.0
# apt-get install gstreamer1.0-tools gstreamer1.0-plugins-good
set -e
if type gst-launch-0.10 > /dev/null 2>&1 ; then
glaunch=gst-launch-0.10
vtransform=ffmpegcolorspace
elif type gst-launch-1.0 > /dev/null 2>&1 ; then
glaunch=gst-launch-1.0
vtransform=videoconvert
else
echo "error: unable to find compatible gst-launch binary"
exit 1
fi
newfile=$(basename $1 .dv).webm
wavfile=$(basename $1 .dv).wav
wavfile=$(readlink -f $wavfile)
normalfile=$(basename $1 .dv)-normal.wav
normalfile=$(readlink -f $normalfile)
oldfile=$(readlink -f $1)
echo -e "\033]0;Pass 1: $newfile\007"
$glaunch webmmux name=mux ! fakesink \
uridecodebin uri=file://$oldfile name=demux \
demux. ! $vtransform ! deinterlace ! vp8enc multipass-cache-file=/tmp/vp8-multipass multipass-mode=1 threads=2 ! queue ! mux.video_0 \
demux. ! progressreport ! audioconvert ! audiorate ! tee name=t ! queue ! vorbisenc ! queue ! mux.audio_0 \
t. ! queue ! wavenc ! filesink location=$wavfile
echo -e "\033]0;Audio normalize: $newfile\007"
sox --norm $wavfile $normalfile
echo -e "\033]0;Pass 2: $newfile\007"
$glaunch webmmux name=mux ! filesink location=$newfile \
uridecodebin uri=file://$oldfile name=video \
uridecodebin uri=file://$normalfile name=audio \
video. ! $vtransform ! deinterlace ! vp8enc multipass-cache-file=/tmp/vp8-multipass multipass-mode=2 threads=2 ! queue ! mux.video_0 \
audio. ! progressreport ! audioconvert ! audiorate ! vorbisenc ! queue ! mux.audio_0
rm $wavfile $normalfile
--
Vennlig hilsen
Petter Reinholdtsen
More information about the video
mailing list