VideoEncodingTips

From TAMI
Revision as of 00:04, 10 March 2015 by Yair (talk | contribs) (merged streaming and videoecoding)
Jump to navigationJump to search

encoding

MTS to webm

Used ffmpeg to concatenate the files without reencoding (codec copy):

ffmpeg -f concat -i files -c copy whole.mts

where files contains:

file 00001.MTS
file 00002.MTS

etc.

Used gstreamer to convert to webm. This was after failed (i.e. success but garbage output - small random squares) attempts with both mencoder and ffmpeg:

gst-launch-0.10 filesrc location=whole.mts ! decodebin name=demux ! queue ! ffmpegcolorspace ! vp8enc ! webmmux name=mux ! filesink location=whole.webm demux. ! queue ! progressreport ! audioconvert ! audioresample ! vorbisenc ! mux.

Then used ffmpeg to cut without copy, this is almost instantaneous on a SSD drive (whole.webm is 914M):

ffmpeg -i whole.webm -ss 00:12:55 -to 20:07 -codec copy 03_EWB_Oren.webm

cropping with ffmpeg

ffmpeg -i atlassian_jira_workflow_graph_view_guides_demonstration_20150305_orig.webm -vf "crop=1920:1200:0:0" test.webm

cropping with gstreamer

gst-launch-0.10 -v filesrc location=./atlassian_jira_workflow_graph_view_guides_demonstration_20150305_orig.webm ! decodebin ! ffmpegcolorspace ! videocrop top=0 left=0 right=1920 bottom=0 ! vp8enc ! webmmux ! filesink location=whole.webm


Streaming

icecast2/ogg

Icecast2 is a streaming media server

how to

 ## to configure
 # sudo vim /etc/icecast.xml
 ## to manage service
 # systemctl enable/stop/restart icecast

tested audio streaming using BUTT on windows
tested video streaming using ffmpeg2theora | oggfwd on arch

example of video streaming

# -p preview is 288Kbps video
# -v 4 = 500Kbps
ffmpeg2theora --no-skeleton -p preview --noaudio  video_source.mp4 -o /dev/stdout | oggfwd tami.org.il 8000 password /mount_name


example of video encoding from mp4 to ogg (ogv)

# ffmpeg -i input.mp4 -codec:v libtheora -qscale:v 7 -codec:a libvorbis -qscale:a 5 output.ogv

example of streaming from local to server, you need oggfwd for this.

# this example will show at tami.org.il:8000/channel
# cat zimmertlv-92244715-streamReady.ogv | oggfwd  tami.org.il 8000 password /shannel

insperation


alternatives and addons