4 minutos de lectura
ffmpeg -h encoder=libvpx-vp9 # Mostrar opciones
-c:v libvpx-vp9 -b:v 2500k -c:a libopus -b:a 128k -ar 44100
#-framerate 25
Para Streaming
-qmin 4 -qmax 48 -quality realtime -speed 5 -static-thresh 0 -max-intra-rate 300 -error-resilient 1 \ #libvpx
-tile-columns 2 -frame-parallel 1 -row-mt 1 \ #VP9
-threads 5 -f webm output.webm # ffmpeg
-r 25 -g 75 -s 1280x720 -quality realtime -speed 5 -threads 5 -row-mt 1 -tile-columns 2 -frame-parallel 1 -qmin 4 -qmax 48 -b:v 3000k
-minrate 2000k -maxrate 23000k #CBR
-crf 32 #CQ
-c:v libvpx-vp9 -b:v 2000k -c:a libopus -b:a 128k -ar 48000 -minrate 2000k -maxrate 2000k -qmin 4 -qmax 48 -quality realtime -speed 8 -static-thresh 0 -max-intra-rate 300 -error-resilient 1 -tile-columns 1 -frame-parallel 1 -row-mt 1 -threads 5 -f webm output.webm
vainfo --display drm --device /dev/dri/renderD128
ffmpeg -hide_banner -hwaccels
ffmpeg -hide_banner -h encoder=vp9_vaapi
for i in encoders decoders filters; do
echo $i:; ffmpeg -hide_banner -${i} | grep -i "vaapi"
done
# Encode
ffmpeg -vaapi_device /dev/dri/renderD128 -i input.mp4 -vf 'format=nv12,hwupload' -c:v vp9_vaapi \
-b:v 3M -maxrate:v 3M -minrate:v 3M vp9_output.webm
ffmpeg -vaapi_device /dev/dri/renderD128 -i input.mp4 -vf 'format=nv12,hwupload' -c:v vp9_vaapi \
-global_quality 50 -bf 2 -bsf:v vp9_raw_reorder,vp9_superframe output.webm
ffmpeg -vaapi_device /dev/dri/renderD128 -re -i input.mp4 -vf 'format=nv12,hwupload' -c:v vp9_vaapi \
-g 150 -compression_level 1 -bf 4 -bsf:v vp9_raw_reorder,vp9_superframe -b:v 3M -maxrate:v 3M -minrate:v 3M vp9_output.webm
# -re # Solo leyendo de ficheros para coger su framerate
# Transcode completamente en HW
ffmpeg -vaapi_device /dev/dri/renderD128 -hwaccel vaapi -hwaccel_output_format vaapi -i input.mp4 \
-c:v vp9_vaapi -b:v 3M vp9_output.webm
# TC HW + Si no sabemos el formato de la fuente
ffmpeg -vaapi_device /dev/dri/renderD128 -hwaccel vaapi -hwaccel_output_format vaapi -i input.mp4 \
-vf 'format=nv12|vaapi,hwupload' \
-c:v vp9_vaapi -b:v 3M vp9_output.webm
Info
Instalación
curl -s https://owncast.online/install.sh | bash
Config
config-default.yaml
-> config.yaml
Debug
owncast -enableVerboseLogging -enableDebugFeatures
FirewallD:
FDSDIR='/etc/firewalld/services'
FDSOWNCAST="$FDSDIR/owncast.xml"
if [[ -d $FDSDIR ]] && [[ ! -f $FDSOWNCAST ]] ; then
cat <<'EOF' > $FDSOWNCAST
<?xml version="1.0" encoding="utf-8"?>
<service>
<short>owncast</short>
<description>Streaming (RTMP-1935) + chat out of the box (TCP-8080)</description>
<port protocol="tcp" port="8080"/>
<port protocol="tcp" port="1935"/>
</service>
EOF
firewall-cmd --permanent --zone=home --add-service=owncast
firewall-cmd --permanent --zone=home --add-service=http --add-service=https # Si usamos Traefik / proxy inverso
systemctl restart firewalld.service
systemctl --no-pager --full status firewalld.service
else
echo "O no exite $FDSDIR"
echo "O ya exite $FDSOWNCAST"
fi
docker pull deamos/openstreamingplatform
¿Ya no operativo?
rtmp://live.autistici.org/ingest/
iframe
<p><iframe src="https://FQDN/#gnulinuxvalenciasocial" width="800" height="600" frameborder="0" allowfullscreen="allowfullscreen"><span style="display: inline-block; width: 0px; overflow: hidden; line-height: 0;" data-mce-type="bookmark" class="mce_SELRES_start"></span></iframe></p>
https://obsproject.com/wiki/Streaming-With-SRT-Protocol
https://github.com/Edward-Wu/srt-live-server
VP8/9 = RTSP
https://help.archive.org/help/category/archive-org/files-formats-and-derivatives/
What encoding specifications are best for .mp4 files?
audio: aac
video: h.264
moov atom: front
pixel format: yuv420p
If this is not the case we will derive a new mp4 with the file name suffix .ia.mp4
¿Fue útil esta página?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.