You are not logged in.
I have this script:
#!/bin/sh
#
# Script para criar screencasts(vídeos da captura de tela) usando o ffmpeg.
#
# Desenvolvido por Lucas Saliés Brum <lucas@archlinux.com.br>
#
# Criado em: 09/06/2017
# Última Atualização: 10/06/2017 09:36:56
#
lixeira="${HOME}/.local/share/Trash"
icone="/usr/share/icons/Arc/devices/24@2x/video-display.png"
if [ -f ~/.config/user-dirs.dirs ]; then
source ~/.config/user-dirs.dirs
caminho="${XDG_VIDEOS_DIR}/screencast/"
else
caminho="${HOME}/video/screencast/"
fi
if [ "$1" == "start" ]; then
preset="slow" # ultrafast,superfast,veryfast,faster,fast,medium,slow,slower,veryslow,placebo
data=$(date +%Y-%m-%d_%H-%M-%S)
arquivo="${caminho}/screencast-${data}.mp4"
resolucao=$(xrandr | grep '*' | awk 'NR==1{print $1}')
audio=$(pacmd list-sinks | grep -A 1 'index: 1' | awk 'NR==2{print $2}' | awk '{print substr($0,2,length($0)-2)}') # list-sources, list-sinks
[ ! -d $caminho ] && mkdir -p $caminho
fi
if pgrep -x "ffmpeg" > /dev/null
then
echo "%{F#d08770}%{F-}"
if [ "$1" == "start" ]; then
killall ffmpeg
notify-send -i $icone "ScreenCast" "O vídeo <b>$arquivo</b> foi terminado."
exit 0
fi
else
echo ""
if [ "$1" == "start" ]; then
notify-send -i $icone "ScreenCast" "O vídeo <b>$arquivo</b> foi iniciado..."
#ffmpeg -f x11grab -r 25 -s $resolucao -i :0.0 -f pulse -i default -preset $preset -crf 0 -threads 0 -probesize 10M $arquivo
#ffmpeg -f x11grab -r 25 -s $resolucao -i :0.0 -f pulse -i default -preset $preset -c:v libx264 -c:a aac -b:a 128k -probesize 50M $arquivo
#ffmpeg -f x11grab -r 25 -s $resolucao -i :0.0 -f pulse -i default -preset $preset -c:v libx264 -c:a aac -b:a 128k -probesize 50M $arquivo
#ffmpeg -thread_queue_size 512 -f x11grab -r 30 -s $resolucao -i :0.0 -f pulse -i default -preset $preset -c:v libx264 -c:a aac -b:a 128k $arquivo -probesize 50M
#ffmpeg -thread_queue_size 512 -f x11grab -r 30 -s $resolucao -i :0.0 -f pulse -ac 2 -i default -preset $preset -c:v libx264 -c:a aac -b:a 128k $arquivo -probesize 50M
#ffmpeg -thread_queue_size 512 -f x11grab -r 30 -s $resolucao -i :0.0 -f pulse -ac 2 -i default -preset $preset -c:v h264_nvenc -qp 0 -c:a aac -b:a 128k $arquivo -probesize 50M
#ffmpeg -f alsa -i pulse -f x11grab -r 25 -s $resolucao -i :0 -c:a aac -c:v libx264 -threads 0 $arquivo -probesize 50M
#ffmpeg -f x11grab -r 25 -s $resolucao -i :0 -f pulse -ac 2 -i default -preset $preset -c:v libx264 -c:a aac -b:a 128k $arquivo -probesize 50M
#ffmpeg -f x11grab -r 25 -s $resolucao -i :0 -f pulse -ac 2 -i default -preset $preset -c:v libx264 -c:a aac -b:a 128k $arquivo
#ffmpeg -y -i screencast-2018-01-15_06-09-22.mp4 -c:v mpeg4 -b:v 600k -c:a libmp3lame output.avi
#ffmpeg -y -f x11grab -r 25 -s $resolucao -i :0 -f pulse -ac 2 -i default -preset $preset -c:v mpeg4 -b:v 800k -c:a libmp3lame $arquivo
#ffmpeg -y -f x11grab -s $resolucao -i :0 -f pulse -ac 2 -i default -preset $preset -c:v libx264 -c:a libmp3lame $arquivo
#ffmpeg -f x11grab -s $resolucao -i :0 -f pulse -ac 2 -i default -preset $preset -c:v libx264 -pix_fmt yuv444p -c:a libmp3lame $arquivo
ffmpeg -f x11grab -s $resolucao -i :0 -f pulse -ac 2 -i default -preset $preset -c:v mpeg4 -c:a libmp3lame $arquivo
elif [ "$1" == "clear" ]; then
icone="/usr/share/icons/Arc/places/24@2x/user-trash.png"
listagem=(${caminho}*)
if [ ${#listagem[@]} -gt 1 ]; then
mv ${caminho}* ${lixeira}/files/
notify-send -i $icone "ScreenCast" "Pasta de screencasts limpa!"
else
notify-send -i $icone "ScreenCast" "Pasta de screencasts já está limpa!"
fi
fi
fi
# Re-encode
# #ffmpeg -y -i screencast-2018-01-15_06-09-22.mp4 -c:v mpeg4 -b:v 600k -c:a libmp3lame output.aviWhen i use mpeg4 the video play on Android, but the quality is very poor.
When i use libx264 video not play on Android, but the quality is fine.
How to create HQ Videos and play on Android devices?
Last edited by sistematico (2018-01-18 02:35:26)
Offline
https://www.google.com/search?q=ffmpeg+ … eruser.com
mpeg4 is divx5
Offline
https://www.google.com/search?q=ffmpeg+ … eruser.com
mpeg4 is divx5
Thank you very much!
Solved: https://superuser.com/a/859075
~/.local/bin/screencast:
#!/bin/sh
#
# Script para criar screencasts(vídeos da captura de tela) usando o ffmpeg.
#
# Desenvolvido por Lucas Saliés Brum <lucas@archlinux.com.br>
#
# Criado em: 09/06/2017 23:26:41
# Última Atualização: 16/01/2018 01:20:47
lixeira="${HOME}/.local/share/Trash"
icone="/usr/share/icons/Arc/devices/24@2x/video-display.png"
if [ -f ~/.config/user-dirs.dirs ]; then
source ~/.config/user-dirs.dirs
caminho="${XDG_VIDEOS_DIR}/screencast/"
else
caminho="${HOME}/video/screencast/"
fi
if [ ! $1 ]; then
preset="slow" # ultrafast,superfast,veryfast,faster,fast,medium,slow,slower,veryslow,placebo
data=$(date +%Y-%m-%d_%H-%M-%S)
arquivo="${caminho}/screencast-${data}.mp4"
resolucao=$(xrandr | grep '*' | awk 'NR==1{print $1}')
audio=$(pacmd list-sinks | grep -A 1 'index: 1' | awk 'NR==2{print $2}' | awk '{print substr($0,2,length($0)-2)}') # list-sources, list-sinks
[ ! -d $caminho ] && mkdir -p $caminho
fi
if pgrep -x "ffmpeg" > /dev/null
then
[ "$(pgrep -x polybar)" ] && echo "%{F#d08770}%{F-}"
if [ ! $1 ]; then
killall ffmpeg
notify-send -i $icone "ScreenCast" "O vídeo <b>$arquivo</b> foi terminado."
exit 0
fi
else
[ "$(pgrep -x polybar)" ] && echo ""
if [ ! "$1" ]; then
notify-send -i $icone "ScreenCast" "O vídeo <b>$arquivo</b> foi iniciado..."
#ffmpeg -f x11grab -r 25 -s $resolucao -i :0.0 -f pulse -i default -preset $preset -crf 0 -threads 0 -probesize 10M $arquivo
#ffmpeg -f x11grab -r 25 -s $resolucao -i :0.0 -f pulse -i default -preset $preset -c:v libx264 -c:a aac -b:a 128k -probesize 50M $arquivo
#ffmpeg -f x11grab -r 25 -s $resolucao -i :0.0 -f pulse -i default -preset $preset -c:v libx264 -c:a aac -b:a 128k -probesize 50M $arquivo
#ffmpeg -thread_queue_size 512 -f x11grab -r 30 -s $resolucao -i :0.0 -f pulse -i default -preset $preset -c:v libx264 -c:a aac -b:a 128k $arquivo -probesize 50M
#ffmpeg -thread_queue_size 512 -f x11grab -r 30 -s $resolucao -i :0.0 -f pulse -ac 2 -i default -preset $preset -c:v libx264 -c:a aac -b:a 128k $arquivo -probesize 50M
#ffmpeg -thread_queue_size 512 -f x11grab -r 30 -s $resolucao -i :0.0 -f pulse -ac 2 -i default -preset $preset -c:v h264_nvenc -qp 0 -c:a aac -b:a 128k $arquivo -probesize 50M
#ffmpeg -f alsa -i pulse -f x11grab -r 25 -s $resolucao -i :0 -c:a aac -c:v libx264 -threads 0 $arquivo -probesize 50M
#ffmpeg -f x11grab -r 25 -s $resolucao -i :0 -f pulse -ac 2 -i default -preset $preset -c:v libx264 -c:a aac -b:a 128k $arquivo -probesize 50M
#ffmpeg -f x11grab -r 25 -s $resolucao -i :0 -f pulse -ac 2 -i default -preset $preset -c:v libx264 -c:a aac -b:a 128k $arquivo
#ffmpeg -y -i screencast-2018-01-15_06-09-22.mp4 -c:v mpeg4 -b:v 600k -c:a libmp3lame output.avi
#ffmpeg -y -f x11grab -r 25 -s $resolucao -i :0 -f pulse -ac 2 -i default -preset $preset -c:v mpeg4 -b:v 800k -c:a libmp3lame $arquivo
#ffmpeg -y -f x11grab -s $resolucao -i :0 -f pulse -ac 2 -i default -preset $preset -c:v libx264 -c:a libmp3lame $arquivo
#ffmpeg -f x11grab -s $resolucao -i :0 -f pulse -ac 2 -i default -preset $preset -c:v libx264 -pix_fmt yuv444p -c:a libmp3lame $arquivo
#ffmpeg -f x11grab -s $resolucao -i :0 -f pulse -ac 2 -i default -preset $preset -c:v mpeg4 -c:a libmp3lame $arquivo
#ffmpeg -f x11grab -s $resolucao -i :0 -c:v libx264 -crf 23 -profile:v baseline -level 3.0 -pix_fmt yuv420p -c:a aac -ac 2 -strict experimental -b:a 128k -movflags faststart $arquivo
ffmpeg -f x11grab -s $resolucao -i :0 -f pulse -ac 2 -i default -c:v libx264 -crf 23 -profile:v baseline -level 3.0 -pix_fmt yuv420p -c:a aac -ac 2 -strict experimental -b:a 128k -movflags faststart $arquivo
elif [ "$1" == "clear" ]; then
icone="/usr/share/icons/Arc/places/24@2x/user-trash.png"
listagem=(${caminho}*)
if [ ${#listagem[@]} -gt 1 ]; then
mv ${caminho}* ${lixeira}/files/
notify-send -i $icone "ScreenCast" "Pasta de screencasts limpa!"
else
notify-send -i $icone "ScreenCast" "Pasta de screencasts já está limpa!"
fi
fi
fiOffline
Cool. Please always remember to mark resolved threads by editing your first posts subject. Thanks.
Offline