tips:video

This is an old revision of the document!


Video TIPS

avprobe <file>
ffmpeg -i input.video -threads 4 -b:v 1M -crf 10 output.webm
mencoder -idx input.video -ovc copy -oac copy -o output.video
# 5 images per seconds
ffmpeg -y -framerate 5 -pattern_type glob -i '*.jpg' -c:v libx264 -vf "fps=25,scale=720:-1" out.mp4

convert to mkv

mkvmerge -o output.mkv <inputfile>

convert to mkv and downgrade quality

avconv -i <inputfile> -map 0 -c:v libx264 -crf 20 -c:a copy -c:s copy <outfile>.mkv

concatenate all *.mp4 files to output.mkv

mkvmerge -o output.mkv $(echo *.mp4 | sed "s| | +|g")

From x265 to x264

ffmpeg -xerror -i input.mkv -hide_banner -threads 0 -map 0 -c:a copy -c:s copy -c:v libx264 -pix_fmt yuv420p output.mkv

convert files to mkv and downgrade them if greater than specific value

tomkv (chmod +x)

#!/bin/bash

OUTDIR=out
LIMIT_MBYTE=1500
QUALITY=20 # lower values are better

mkdir -p $OUTDIR
set -x
for f in "$@"
do
    [ -f "$f" ] || continue

    SIZE=$(stat -c%s "$f")
    OUTNAME=$OUTDIR/${f%.*}.mkv
    [ -f "$OUTNAME" ] && ( echo "Skip $OUTNAME"; continue )

    if [ $SIZE -gt $(($LIMIT_MBYTE*1000000)) ]; then
        echo avconv $f
        avconv -i "$f" -map 0 -c:v libx264 -crf $QUALITY -c:a copy -c:s copy "$OUTNAME"
    else 
        echo mkvmerge $f
        mkvmerge "$f" -o "$OUTNAME"
    fi
done

Usage to convert into ./out folder

tomkv file1 file2 ...
INPUT=rtsp://foscam:foscam1@192.168.2.14/videoMain
ffprobe -i $INPUT
ffmpeg -rtsp_transport tcp -i $INPUT -c:v libx264 -an -y test.mp4

shinobi

ffmpeg -loglevel warning -analyzeduration 5000000 -probesize 5000000 \
 -rtsp_transport tcp -i rtsp://admin:admin@192.168.2.29:554/12 \
 -preset ultrafast -crf 15 -an -c:v libx264 -r 2 -f hls -s 640x380 \
 -max_muxing_queue_size 1024 \
 -tune zerolatency -g 1 -hls_time 2 -hls_list_size 3 -start_number 0 -hls_allow_cache 0 \
 -hls_flags +delete_segments+omit_endlist "/dev/shm/streams/8Pkk5cE2xY/LIBm503cxy/s.m3u8" \
 -f singlejpeg -vf fps=0.5 -s 640x380 pipe:0 \
 -update 1 -r 1 "/dev/shm/streams/8Pkk5cE2xY/LIBm503cxy/s.jpg" \
 -y -f mpegts -c:v libx264 http://127.0.0.1:8080/streamIn/8Pkk5cE2xY/LIBm503cxy/1
  • tips/video.1515506098.txt.gz
  • Last modified: 2018/01/09 14:54
  • by scipio