cpan

install CPAN; reload CPAN
install Term::ReadLine::Perl YAML Term::ReadKey Log::Log4perl
upgrade /(.*)/

ffmpeg compile from git

Mac
use brew

https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu

Debian 10.8

apt-get update -qq && sudo apt-get -y install \
autoconf \
automake \
build-essential \
cmake \
git-core \
libass-dev \
libfreetype6-dev \
libgnutls28-dev \
libsdl2-dev \
libtool \
libva-dev \
libvdpau-dev \
libvorbis-dev \
libxcb1-dev \
libxcb-shm0-dev \
libxcb-xfixes0-dev \
meson \
ninja-build \
pkg-config \
texinfo \
wget \
yasm \
zlib1g-dev

./configure \
–prefix=/opt/ffmpeg \
–enable-shared \
–enable-static \
–enable-gpl \
–enable-libmp3lame \
–enable-libopencore-amrnb \
–enable-libopencore-amrwb \
–enable-libtheora \
–enable-libvorbis \
–enable-libvpx \
–enable-libx264 \
–enable-libx265 \
–enable-libopus \
–enable-nonfree \
–enable-version3 \
–enable-pthreads \
–enable-postproc \
–enable-pic

make
make install

Debian 9.9
apt-get install build-essential checkinstall git libgpac-dev \
libjack-jackd2-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev \
librtmp-dev libsdl1.2-dev libtheora-dev libva-dev libvdpau-dev libvorbis-dev \
libx11-dev libxfixes-dev pkg-config texi2html yasm zlib1g-dev

apt-get install libx264-dev libx265-dev zlib1g-dev libasound2-dev libopus-dev libfdk-aac-dev \
libvpx-dev checkinstall libavdevice-dev

./configure \
–prefix=/opt/ffmpeg \
–enable-shared \
–enable-static \
–enable-gpl \
–enable-libmp3lame \
–enable-libopencore-amrnb \
–enable-libopencore-amrwb \
–enable-libtheora \
–enable-libvorbis \
–enable-libvpx \
–enable-libx264 \
–enable-libx265 \
–enable-libopus \
–enable-nonfree \
–enable-version3 \
–enable-pthreads \
–enable-postproc \
–enable-pic

Debian 9.8

apt-get install build-essential checkinstall git libfaac-dev libgpac-dev \
libjack-jackd2-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev \
librtmp-dev libsdl1.2-dev libtheora-dev libva-dev libvdpau-dev libvorbis-dev \
libx11-dev libxfixes-dev pkg-config texi2html yasm zlib1g-dev

apt-get install libx264-dev libx265-dev zlib1g-dev libasound2-dev libopus-dev libfdk-aac-dev \
libvpx-dev checkinstall libavdevice-dev

./configure \
–enable-shared \
–enable-static \
–enable-gpl \
–enable-libmp3lame \
–enable-libopencore-amrnb \
–enable-libopencore-amrwb \
–enable-libtheora \
–enable-libvorbis \
–enable-libvpx \
–enable-libx264 \
–enable-libopus \
–enable-nonfree \
–enable-version3 \
–enable-pthreads \
–enable-postproc \
–enable-pic

export PKG_CONFIG_PATH=/opt/gstreamer/lib/pkgconfig:/opt/ffmpeg/lib/pkgconfig/

sudo checkinstall –pkgname=ffmpeg –pkgversion=”5:$(date +%Y%m%d%H%M)-git” –backup=no \
–deldoc=yes –fstrans=no –default

Ubuntu 16.04.3 LTS
a6
I like this guys package commands:
https://gist.github.com/faleev/3435377

but here is the official:
https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu

./configure \
–enable-gpl \
–enable-libfdk-aac \
–enable-libmp3lame \
–enable-libopencore-amrnb \
–enable-libopencore-amrwb \
–enable-librtmp \
–enable-libtheora \
–enable-libvorbis \
–enable-libvpx \
–enable-libx264 \
–enable-libx265 \
–enable-libopus \
–enable-nonfree \
–enable-version3 \
–enable-pic

install prefix /usr/local
source path .
C compiler gcc
C library glibc
ARCH x86 (generic)
big-endian no
runtime cpu detection yes
standalone assembly yes
x86 assembler nasm
MMX enabled yes
MMXEXT enabled yes
3DNow! enabled yes
3DNow! extended enabled yes
SSE enabled yes
SSSE3 enabled yes
AESNI enabled yes
AVX enabled yes
AVX2 enabled yes
XOP enabled yes
FMA3 enabled yes
FMA4 enabled yes
i686 features enabled yes
CMOV is fast yes
EBX available yes
EBP available yes
debug symbols yes
strip symbols yes
optimize for size no
optimizations yes
static yes
shared no
postprocessing support yes
network support yes
threading support pthreads
safe bitstream reader yes
texi2html enabled no
perl enabled yes
pod2man enabled yes
makeinfo enabled yes
makeinfo supports HTML yes

External libraries:
alsa libmp3lame librtmp libvpx libxcb libxcb_xfixes sndio
bzlib libopencore_amrnb libtheora libx264 libxcb_shape lzma xlib
iconv libopencore_amrwb libvorbis libx265 libxcb_shm sdl2 zlib
libfdk_aac libopus

External libraries providing hardware acceleration:
cuda cuvid nvdec nvenc v4l2_m2m vaapi vdpau

Libraries:
avcodec avfilter avformat avutil postproc swresample swscale
avdevice

Programs:
ffmpeg ffplay ffprobe ffserver

Enabled decoders:
aac atrac3al eightbps libfdk_aac paf_audio realtext v210x
aac_fixed atrac3p eightsvx_exp libopencore_amrnb paf_video rl2 v308
aac_latm atrac3pal eightsvx_fib libopencore_amrwb pam roq v408
aasc aura escape124 libopus pbm roq_dpcm v410
ac3 aura2 escape130 libvorbis pcm_alaw rpza vb
ac3_fixed avrn evrc libvpx_vp8 pcm_bluray rscc vble
adpcm_4xm avrp exr loco pcm_dvd rv10 vc1
adpcm_adx avs ffv1 m101 pcm_f16le rv20 vc1_cuvid
adpcm_afc avui ffvhuff mace3 pcm_f24le rv30 vc1_v4l2m2m
adpcm_aica ayuv ffwavesynth mace6 pcm_f32be rv40 vc1image
adpcm_ct bethsoftvid fic magicyuv pcm_f32le s302m vcr1
adpcm_dtk bfi fits mdec pcm_f64be sami vmdaudio
adpcm_ea bink flac metasound pcm_f64le sanm vmdvideo
adpcm_ea_maxis_xa binkaudio_dct flashsv microdvd pcm_lxf scpr vmnc
adpcm_ea_r1 binkaudio_rdft flashsv2 mimic pcm_mulaw screenpresso vorbis
adpcm_ea_r2 bintext flic mjpeg pcm_s16be sdx2_dpcm vp3
adpcm_ea_r3 bitpacked flv mjpeg_cuvid pcm_s16be_planar sgi vp5
adpcm_ea_xas bmp fmvc mjpegb pcm_s16le sgirle vp6
adpcm_g722 bmv_audio fourxm mlp pcm_s16le_planar sheervideo vp6a
adpcm_g726 bmv_video fraps mmvideo pcm_s24be shorten vp6f
adpcm_g726le brender_pix frwu motionpixels pcm_s24daud sipr vp7
adpcm_ima_amv c93 g2m movtext pcm_s24le smackaud vp8
adpcm_ima_apc cavs g723_1 mp1 pcm_s24le_planar smacker vp8_cuvid
adpcm_ima_dat4 ccaption g729 mp1float pcm_s32be smc vp8_v4l2m2m
adpcm_ima_dk3 cdgraphics gdv mp2 pcm_s32le smvjpeg vp9
adpcm_ima_dk4 cdxl gif mp2float pcm_s32le_planar snow vp9_cuvid
adpcm_ima_ea_eacs cfhd gremlin_dpcm mp3 pcm_s64be sol_dpcm vplayer
adpcm_ima_ea_sead cinepak gsm mp3adu pcm_s64le sonic vqa
adpcm_ima_iss clearvideo gsm_ms mp3adufloat pcm_s8 sp5x wavpack
adpcm_ima_oki cljr h261 mp3float pcm_s8_planar speedhq webp
adpcm_ima_qt cllc h263 mp3on4 pcm_u16be srgc webvtt
adpcm_ima_rad comfortnoise h263_v4l2m2m mp3on4float pcm_u16le srt wmalossless
adpcm_ima_smjpeg cook h263i mpc7 pcm_u24be ssa wmapro
adpcm_ima_wav cpia h263p mpc8 pcm_u24le stl wmav1
adpcm_ima_ws cscd h264 mpeg1_cuvid pcm_u32be subrip wmav2
adpcm_ms cyuv h264_cuvid mpeg1_v4l2m2m pcm_u32le subviewer wmavoice
adpcm_mtaf dca h264_v4l2m2m mpeg1video pcm_u8 subviewer1 wmv1
adpcm_psx dds hap mpeg2_cuvid pcm_zork sunrast wmv2
adpcm_sbpro_2 dfa hevc mpeg2_v4l2m2m pcx svq1 wmv3
adpcm_sbpro_3 dirac hevc_cuvid mpeg2video pgm svq3 wmv3image
adpcm_sbpro_4 dnxhd hnm4_video mpeg4 pgmyuv tak wnv1
adpcm_swf dolby_e hq_hqa mpeg4_cuvid pgssub targa wrapped_avframe
adpcm_thp dpx hqx mpeg4_v4l2m2m pictor targa_y216 ws_snd1
adpcm_thp_le dsd_lsbf huffyuv mpegvideo pixlet tdsc xan_dpcm
adpcm_vima dsd_lsbf_planar iac mpl2 pjs text xan_wc3
adpcm_xa dsd_msbf idcin msa1 png theora xan_wc4
adpcm_yamaha dsd_msbf_planar idf mscc ppm thp xbin
aic dsicinaudio iff_ilbm msmpeg4v1 prores tiertexseqvideo xbm
alac dsicinvideo imc msmpeg4v2 prores_lgpl tiff xface
alias_pix dss_sp indeo2 msmpeg4v3 psd tmv xl
als dst indeo3 msrle ptx truehd xma1
amrnb dvaudio indeo4 mss1 qcelp truemotion1 xma2
amrwb dvbsub indeo5 mss2 qdm2 truemotion2 xpm
amv dvdsub interplay_acm msvideo1 qdmc truemotion2rt xsub
anm dvvideo interplay_dpcm mszh qdraw truespeech xwd
ansi dxa interplay_video mts2 qpeg tscc y41p
ape dxtory jacosub mvc1 qtrle tscc2 ylc
apng dxv jpeg2000 mvc2 r10k tta yop
aptx eac3 jpegls mxpeg r210 twinvq yuv4
ass eacmv jv nellymoser ra_144 txd zero12v
asv1 eamad kgv1 nuv ra_288 ulti zerocodec
asv2 eatgq kmvc on2avc ralf utvideo zlib
atrac1 eatgv lagarith opus rawvideo v210 zmbv
atrac3 eatqi

Enabled encoders:
a64multi bmp h264_v4l2m2m mpeg1video pcm_s24be prores_ks utvideo
a64multi5 cinepak h264_vaapi mpeg2_vaapi pcm_s24daud qtrle v210
aac cljr hevc_nvenc mpeg2video pcm_s24le r10k v308
ac3 comfortnoise hevc_vaapi mpeg4 pcm_s24le_planar r210 v408
ac3_fixed dca huffyuv mpeg4_v4l2m2m pcm_s32be ra_144 v410
adpcm_adx dnxhd jpeg2000 msmpeg4v2 pcm_s32le rawvideo vc2
adpcm_g722 dpx jpegls msmpeg4v3 pcm_s32le_planar roq vorbis
adpcm_g726 dvbsub libfdk_aac msvideo1 pcm_s64be roq_dpcm vp8_v4l2m2m
adpcm_g726le dvdsub libmp3lame nellymoser pcm_s64le rv10 vp8_vaapi
adpcm_ima_qt dvvideo libopencore_amrnb nvenc pcm_s8 rv20 wavpack
adpcm_ima_wav eac3 libopus nvenc_h264 pcm_s8_planar s302m webvtt
adpcm_ms ffv1 libtheora nvenc_hevc pcm_u16be sgi wmav1
adpcm_swf ffvhuff libvorbis opus pcm_u16le snow wmav2
adpcm_yamaha fits libvpx_vp8 pam pcm_u24be sonic wmv1
alac flac libx264 pbm pcm_u24le sonic_ls wmv2
alias_pix flashsv libx264rgb pcm_alaw pcm_u32be srt wrapped_avframe
amv flashsv2 libx265 pcm_f32be pcm_u32le ssa xbm
apng flv ljpeg pcm_f32le pcm_u8 subrip xface
aptx g723_1 magicyuv pcm_f64be pcx sunrast xsub
ass gif mjpeg pcm_f64le pgm svq1 xwd
asv1 h261 mjpeg_vaapi pcm_mulaw pgmyuv targa y41p
asv2 h263 mlp pcm_s16be png text yuv4
avrp h263_v4l2m2m movtext pcminstall prefix /usr/local
source path .
C compiler gcc
C library glibc
ARCH x86 (generic)
big-endian no
runtime cpu detection yes
standalone assembly yes
x86 assembler nasm
MMX enabled yes
MMXEXT enabled yes
3DNow! enabled yes
3DNow! extended enabled yes
SSE enabled yes
SSSE3 enabled yes
AESNI enabled yes
AVX enabled yes
AVX2 enabled yes
XOP enabled yes
FMA3 enabled yes
FMA4 enabled yes
i686 features enabled yes
CMOV is fast yes
EBX available yes
EBP available yes
debug symbols yes
strip symbols yes
optimize for size no
optimizations yes
static yes
shared no
postprocessing support yes
network support yes
threading support pthreads
safe bitstream reader yes
texi2html enabled no
perl enabled yes
pod2man enabled yes
makeinfo enabled yes
makeinfo supports HTML yes

External libraries:
alsa libmp3lame librtmp libvpx libxcb libxcb_xfixes sndio
bzlib libopencore_amrnb libtheora libx264 libxcb_shape lzma xlib
iconv libopencore_amrwb libvorbis libx265 libxcb_shm sdl2 zlib
libfdk_aac libopus

External libraries providing hardware acceleration:
cuda cuvid nvdec nvenc v4l2_m2m vaapi vdpau

Libraries:
avcodec avfilter avformat avutil postproc swresample swscale
avdevice

Programs:
ffmpeg ffplay ffprobe ffserver

Enabled decoders:
aac atrac3al eightbps libfdk_aac paf_audio realtext v210x
aac_fixed atrac3p eightsvx_exp libopencore_amrnb paf_video rl2 v308
aac_latm atrac3pal eightsvx_fib libopencore_amrwb pam roq v408
aasc aura escape124 libopus pbm roq_dpcm v410
ac3 aura2 escape130 libvorbis pcm_alaw rpza vb
ac3_fixed avrn evrc libvpx_vp8 pcm_bluray rscc vble
adpcm_4xm avrp exr loco pcm_dvd rv10 vc1
adpcm_adx avs ffv1 m101 pcm_f16le rv20 vc1_cuvid
adpcm_afc avui ffvhuff mace3 pcm_f24le rv30 vc1_v4l2m2m
adpcm_aica ayuv ffwavesynth mace6 pcm_f32be rv40 vc1image
adpcm_ct bethsoftvid fic magicyuv pcm_f32le s302m vcr1
adpcm_dtk bfi fits mdec pcm_f64be sami vmdaudio
adpcm_ea bink flac metasound pcm_f64le sanm vmdvideo
adpcm_ea_maxis_xa binkaudio_dct flashsv microdvd pcm_lxf scpr vmnc
adpcm_ea_r1 binkaudio_rdft flashsv2 mimic pcm_mulaw screenpresso vorbis
adpcm_ea_r2 bintext flic mjpeg pcm_s16be sdx2_dpcm vp3
adpcm_ea_r3 bitpacked flv mjpeg_cuvid pcm_s16be_planar sgi vp5
adpcm_ea_xas bmp fmvc mjpegb pcm_s16le sgirle vp6
adpcm_g722 bmv_audio fourxm mlp pcm_s16le_planar sheervideo vp6a
adpcm_g726 bmv_video fraps mmvideo pcm_s24be shorten vp6f
adpcm_g726le brender_pix frwu motionpixels pcm_s24daud sipr vp7
adpcm_ima_amv c93 g2m movtext pcm_s24le smackaud vp8
adpcm_ima_apc cavs g723_1 mp1 pcm_s24le_planar smacker vp8_cuvid
adpcm_ima_dat4 ccaption g729 mp1float pcm_s32be smc vp8_v4l2m2m
adpcm_ima_dk3 cdgraphics gdv mp2 pcm_s32le smvjpeg vp9
adpcm_ima_dk4 cdxl gif mp2float pcm_s32le_planar snow vp9_cuvid
adpcm_ima_ea_eacs cfhd gremlin_dpcm mp3 pcm_s64be sol_dpcm vplayer
adpcm_ima_ea_sead cinepak gsm mp3adu pcm_s64le sonic vqa
adpcm_ima_iss clearvideo gsm_ms mp3adufloat pcm_s8 sp5x wavpack
adpcm_ima_oki cljr h261 mp3float pcm_s8_planar speedhq webp
adpcm_ima_qt cllc h263 mp3on4 pcm_u16be srgc webvtt
adpcm_ima_rad comfortnoise h263_v4l2m2m mp3on4float pcm_u16le srt wmalossless
adpcm_ima_smjpeg cook h263i mpc7 pcm_u24be ssa wmapro
adpcm_ima_wav cpia h263p mpc8 pcm_u24le stl wmav1
adpcm_ima_ws cscd h264 mpeg1_cuvid pcm_u32be subrip wmav2
adpcm_ms cyuv h264_cuvid mpeg1_v4l2m2m pcm_u32le subviewer wmavoice
adpcm_mtaf dca h264_v4l2m2m mpeg1video pcm_u8 subviewer1 wmv1
adpcm_psx dds hap mpeg2_cuvid pcm_zork sunrast wmv2
adpcm_sbpro_2 dfa hevc mpeg2_v4l2m2m pcx svq1 wmv3
adpcm_sbpro_3 dirac hevc_cuvid mpeg2video pgm svq3 wmv3image
adpcm_sbpro_4 dnxhd hnm4_video mpeg4 pgmyuv tak wnv1
adpcm_swf dolby_e hq_hqa mpeg4_cuvid pgssub targa wrapped_avframe
adpcm_thp dpx hqx mpeg4_v4l2m2m pictor targa_y216 ws_snd1
adpcm_thp_le dsd_lsbf huffyuv mpegvideo pixlet tdsc xan_dpcm
adpcm_vima dsd_lsbf_planar iac mpl2 pjs text xan_wc3
adpcm_xa dsd_msbf idcin msa1 png theora xan_wc4
adpcm_yamaha dsd_msbf_planar idf mscc ppm thp xbin
aic dsicinaudio iff_ilbm msmpeg4v1 prores tiertexseqvideo xbm
alac dsicinvideo imc msmpeg4v2 prores_lgpl tiff xface
alias_pix dss_sp indeo2 msmpeg4v3 psd tmv xl
als dst indeo3 msrle ptx truehd xma1
amrnb dvaudio indeo4 mss1 qcelp truemotion1 xma2
amrwb dvbsub indeo5 mss2 qdm2 truemotion2 xpm
amv dvdsub interplay_acm msvideo1 qdmc truemotion2rt xsub
anm dvvideo interplay_dpcm mszh qdraw truespeech xwd
ansi dxa interplay_video mts2 qpeg tscc y41p
ape dxtory jacosub mvc1 qtrle tscc2 ylc
apng dxv jpeg2000 mvc2 r10k tta yop
aptx eac3 jpegls mxpeg r210 twinvq yuv4
ass eacmv jv nellymoser ra_144 txd zero12v
asv1 eamad kgv1 nuv ra_288 ulti zerocodec
asv2 eatgq kmvc on2avc ralf utvideo zlib
atrac1 eatgv lagarith opus rawvideo v210 zmbv
atrac3 eatqi

Enabled encoders:
a64multi bmp h264_v4l2m2m mpeg1video pcm_s24be prores_ks utvideo
a64multi5 cinepak h264_vaapi mpeg2_vaapi pcm_s24daud qtrle v210
aac cljr hevc_nvenc mpeg2video pcm_s24le r10k v308
ac3 comfortnoise hevc_vaapi mpeg4 pcm_s24le_planar r210 v408
ac3_fixed dca huffyuv mpeg4_v4l2m2m pcm_s32be ra_144 v410
adpcm_adx dnxhd jpeg2000 msmpeg4v2 pcm_s32le rawvideo vc2
adpcm_g722 dpx jpegls msmpeg4v3 pcm_s32le_planar roq vorbis
adpcm_g726 dvbsub libfdk_aac msvideo1 pcm_s64be roq_dpcm vp8_v4l2m2m
adpcm_g726le dvdsub libmp3lame nellymoser pcm_s64le rv10 vp8_vaapi
adpcm_ima_qt dvvideo libopencore_amrnb nvenc pcm_s8 rv20 wavpack
adpcm_ima_wav eac3 libopus nvenc_h264 pcm_s8_planar s302m webvtt
adpcm_ms ffv1 libtheora nvenc_hevc pcm_u16be sgi wmav1
adpcm_swf ffvhuff libvorbis opus pcm_u16le snow wmav2
adpcm_yamaha fits libvpx_vp8 pam pcm_u24be sonic wmv1
alac flac libx264 pbm pcm_u24le sonic_ls wmv2
alias_pix flashsv libx264rgb pcm_alaw pcm_u32be srt wrapped_avframe
amv flashsv2 libx265 pcm_f32be pcm_u32le ssa xbm
apng flv ljpeg pcm_f32le pcm_u8 subrip xface
aptx g723_1 magicyuv pcm_f64be pcx sunrast xsub
ass gif mjpeg pcm_f64le pgm svq1 xwd
asv1 h261 mjpeg_vaapi pcm_mulaw pgmyuv targa y41p
asv2 h263 mlp pcm_s16be png text yuv4
avrp h263_v4l2m2m movtext pcm_s16be_planar ppm tiff zlib
avui h263p mp2 pcm_s16le prores truehd zmbv
ayuv h264_nvenc mp2fixed pcm_s16le_planar prores_aw tta

Enabled hwaccels:
h263_vaapi hevc_nvdec mpeg1_vdpau mpeg4_nvdec vc1_vaapi vp8_vaapi wmv3_nvdec
h264_nvdec hevc_vaapi mpeg2_nvdec mpeg4_vaapi vc1_vdpau vp9_nvdec wmv3_vaapi
h264_vaapi hevc_vdpau mpeg2_vaapi mpeg4_vdpau vp8_nvdec vp9_vaapi wmv3_vdpau
h264_vdpau mpeg1_nvdec mpeg2_vdpau vc1_nvdec

Enabled parsers:
aac cook dvbsub h261 mpeg4video rv30 vorbis
aac_latm dca dvd_nav h263 mpegaudio rv40 vp3
ac3 dirac dvdsub h264 mpegvideo sipr vp8
adx dnxhd flac hevc opus tak vp9
bmp dpx g729 mjpeg png vc1 xma
cavsvideo dvaudio gsm mlp pnm

Enabled demuxers:
aa cavsvideo gif image_xpm_pipe mtv r3d tedcaptions
aac cdg gsm ingenient musx rawvideo thp
ac3 cdxl gxf ipmovie mv realtext threedostr
acm cine h261 ircam mvi redspark tiertexseq
act concat h263 iss mxf rl2 tmv
adf data h264 iv8 mxg rm truehd
adp daud hevc ivf nc roq tta
ads dcstr hls ivr nistsphere rpl tty
adx dfa hnm jacosub nsp rsd txd
aea dirac ico jv nsv rso ty
afc dnxhd idcin live_flv nut rtp v210
aiff dsf idf lmlm4 nuv rtsp v210x
aix dsicin iff loas ogg s337m vag
amr dss ilbc lrc oma sami vc1
amrnb dts image2 lvf paf sap vc1t
amrwb dtshd image2_alias_pix lxf pcm_alaw sbg vivo
anm dv image2_brender_pix m4v pcm_f32be scc vmd
apc dvbsub image2pipe matroska pcm_f32le sdp vobsub
ape dvbtxt image_bmp_pipe mgsts pcm_f64be sdr2 voc
apng dxa image_dds_pipe microdvd pcm_f64le sds vpk
aptx ea image_dpx_pipe mjpeg pcm_mulaw sdx vplayer
aqtitle ea_cdata image_exr_pipe mjpeg_2000 pcm_s16be segafilm vqf
asf eac3 image_j2k_pipe mlp pcm_s16le shorten w64
asf_o epaf image_jpeg_pipe mlv pcm_s24be siff wav
ass ffm image_jpegls_pipe mm pcm_s24le sln wc3
ast ffmetadata image_pam_pipe mmf pcm_s32be smacker webm_dash_manifest
au filmstrip image_pbm_pipe mov pcm_s32le smjpeg webvtt
avi fits image_pcx_pipe mp3 pcm_s8 smush wsaud
avr flac image_pgm_pipe mpc pcm_u16be sol wsd
avs flic image_pgmyuv_pipe mpc8 pcm_u16le sox wsvqa
bethsoftvid flv image_pictor_pipe mpegps pcm_u24be spdif wtv
bfi fourxm image_png_pipe mpegts pcm_u24le srt wv
bfstm frm image_ppm_pipe mpegtsraw pcm_u32be stl wve
bink fsb image_psd_pipe mpegvideo pcm_u32le str xa
bintext g722 image_qdraw_pipe mpjpeg pcm_u8 subviewer xbin
bit g723_1 image_sgi_pipe mpl2 pjs subviewer1 xmv
bmv g726 image_sunrast_pipe mpsub pmp sup xvag
boa g726le image_svg_pipe msf pva svag xwma
brstm g729 image_tiff_pipe msnwc_tcp pvf swf yop
c93 gdv image_webp_pipe mtaf qcp tak yuv4mpegpipe
caf genh

Enabled muxers:
a64 dnxhd h261 microdvd nut pcm_u24le stream_segment
ac3 dts h263 mjpeg oga pcm_u32be sup
adts dv h264 mkvtimestamp_v2 ogg pcm_u32le swf
adx eac3 hash mlp ogv pcm_u8 tee
aiff f4v hds mmf oma psp tg2
amr ffm hevc mov opus rawvideo tgp
apng ffmetadata hls mp2 pcm_alaw rm truehd
aptx fifo ico mp3 pcm_f32be roq tta
asf filmstrip ilbc mp4 pcm_f32le rso uncodedframecrc
asf_stream fits image2 mpeg1system pcm_f64be rtp vc1
ass flac image2pipe mpeg1vcd pcm_f64le rtp_mpegts vc1t
ast flv ipod mpeg1video pcm_mulaw rtsp voc
au framecrc ircam mpeg2dvd pcm_s16be sap w64
avi framehash ismv mpeg2svcd pcm_s16le scc wav
avm2 framemd5 ivf mpeg2video pcm_s24be segment webm
bit g722 jacosub mpeg2vob pcm_s24le singlejpeg webm_chunk
caf g723_1 latm mpegts pcm_s32be smjpeg webm_dash_manifest
cavsvideo g726 lrc mpjpeg pcm_s32le smoothstreaming webp
crc g726le m4v mxf pcm_s8 sox webvtt
dash gif matroska mxf_d10 pcm_u16be spdif wtv
data gsm matroska_audio mxf_opatom pcm_u16le spx wv
daud gxf md5 null pcm_u24be srt yuv4mpegpipe
dirac

Enabled protocols:
async file httpproxy librtmps mmsh rtp tee
cache ftp icecast librtmpt mmst srtp udp
concat gopher librtmp librtmpte pipe subfile udplite
crypto hls librtmpe md5 prompeg tcp unix
data http

Enabled filters:
abench asetpts crop fps maskedclamp remap spectrumsynth
abitscope asetrate cropdetect framepack maskedmerge removegrain split
acompressor asettb crossfeed framerate mcdeint removelogo spp
acontrast ashowinfo crystalizer framestep mcompand repeatfields ssim
acopy asidedata curves fspp mergeplanes replaygain stereo3d
acrossfade asplit datascope gblur mestimate reverse stereotools
acrusher astats dcshift geq metadata rgbtestsrc stereowiden
adelay astreamselect dctdnoiz gradfun midequalizer roberts streamselect
adrawgraph atadenoise deband haas minterpolate rotate super2xsai
aecho atempo decimate haldclut mix sab superequalizer
aemphasis atrim deflate haldclutsrc movie scale surround
aeval avectorscope deflicker hdcd mpdecimate scale2ref swaprect
aevalsrc avgblur deinterlace_vaapi headphone mptestsrc scale_vaapi swapuv
afade bandpass dejudder hflip negate select tblend
afftfilt bandreject delogo highpass nlmeans selectivecolor telecine
afir bass deshake histeq nnedi sendcmd testsrc
aformat bbox despill histogram noformat separatefields testsrc2
agate bench detelecine hqdn3d noise setdar threshold
ahistogram biquad dilation hqx normalize setfield thumbnail
ainterleave bitplanenoise displace hstack null setpts tile
alimiter blackdetect doubleweave hue nullsink setrange tinterlace
allpass blackframe drawbox hwdownload nullsrc setsar tlut2
allrgb blend drawgraph hwmap oscilloscope settb tonemap
allyuv boxblur drawgrid hwupload overlay showcqt transpose
aloop bwdif dynaudnorm hwupload_cuda owdenoise showfreqs treble
alphaextract cellauto earwax hysteresis pad showinfo tremolo
alphamerge channelmap ebur128 idet palettegen showpalette trim
amerge channelsplit edgedetect il paletteuse showspectrum unpremultiply
ametadata chorus elbg inflate pan showspectrumpic unsharp
amix chromakey eq interlace perms showvolume uspp
amovie ciescope equalizer interleave perspective showwaves vaguedenoiser
anequalizer codecview erosion join phase showwavespic vectorscope
anoisesrc color extractplanes kerndeint pixdesctest shuffleframes vflip
anull colorbalance extrastereo lenscorrection pixscope shuffleplanes vibrato
anullsink colorchannelmixer fade life pp sidechaincompress vignette
anullsrc colorkey fftfilt limiter pp7 sidechaingate vmafmotion
apad colorlevels field loop premultiply sidedata volume
aperms colormatrix fieldhint loudnorm prewitt signalstats volumedetect
aphasemeter colorspace fieldmatch lowpass pseudocolor signature vstack
aphaser compand fieldorder lumakey psnr silencedetect w3fdif
apulsator compensationdelay fillborders lut pullup silenceremove waveform
arealtime concat find_rect lut2 qp sine weave
aresample convolution firequalizer lut3d random smartblur xbr
areverse convolve flanger lutrgb readeia608 smptebars yadif
aselect copy floodfill lutyuv readvitc smptehdbars yuvtestsrc
asendcmd cover_rect format mandelbrot realtime sobel zoompan
asetnsamples

Enabled bsfs:
aac_adtstoasc extract_extradata hevc_metadata mjpega_dump_header mpeg4_unpack_bframes remove_extradata vp9_raw_reorder
chomp h264_metadata hevc_mp4toannexb mov2textsub noise text2movsub vp9_superframe
dca_core h264_mp4toannexb imx_dump_header mp3_header_decompress null trace_headers vp9_superframe_split
dump_extradata h264_redundant_pps mjpeg2jpeg mpeg2_metadata

Enabled indevs:
alsa fbdev lavfi oss sndio v4l2 xcbgrab

Enabled outdevs:
alsa fbdev oss sdl2 sndio v4l2 xv

License: nonfree and unredistributable
libavutil/avconfig.h is unchanged
libavcodec/bsf_list.c is unchanged
libavformat/protocol_list.c is unchanged
_s16be_planar ppm tiff zlib
avui h263p mp2 pcm_s16le prores truehd zmbv
ayuv h264_nvenc mp2fixed pcm_s16le_planar prores_aw tta

Enabled hwaccels:
h263_vaapi hevc_nvdec mpeg1_vdpau mpeg4_nvdec vc1_vaapi vp8_vaapi wmv3_nvdec
h264_nvdec hevc_vaapi mpeg2_nvdec mpeg4_vaapi vc1_vdpau vp9_nvdec wmv3_vaapi
h264_vaapi hevc_vdpau mpeg2_vaapi mpeg4_vdpau vp8_nvdec vp9_vaapi wmv3_vdpau
h264_vdpau mpeg1_nvdec mpeg2_vdpau vc1_nvdec

Enabled parsers:
aac cook dvbsub h261 mpeg4video rv30 vorbis
aac_latm dca dvd_nav h263 mpegaudio rv40 vp3
ac3 dirac dvdsub h264 mpegvideo sipr vp8
adx dnxhd flac hevc opus tak vp9
bmp dpx g729 mjpeg png vc1 xma
cavsvideo dvaudio gsm mlp pnm

Enabled demuxers:
aa cavsvideo gif image_xpm_pipe mtv r3d tedcaptions
aac cdg gsm ingenient musx rawvideo thp
ac3 cdxl gxf ipmovie mv realtext threedostr
acm cine h261 ircam mvi redspark tiertexseq
act concat h263 iss mxf rl2 tmv
adf data h264 iv8 mxg rm truehd
adp daud hevc ivf nc roq tta
ads dcstr hls ivr nistsphere rpl tty
adx dfa hnm jacosub nsp rsd txd
aea dirac ico jv nsv rso ty
afc dnxhd idcin live_flv nut rtp v210
aiff dsf idf lmlm4 nuv rtsp v210x
aix dsicin iff loas ogg s337m vag
amr dss ilbc lrc oma sami vc1
amrnb dts image2 lvf paf sap vc1t
amrwb dtshd image2_alias_pix lxf pcm_alaw sbg vivo
anm dv image2_brender_pix m4v pcm_f32be scc vmd
apc dvbsub image2pipe matroska pcm_f32le sdp vobsub
ape dvbtxt image_bmp_pipe mgsts pcm_f64be sdr2 voc
apng dxa image_dds_pipe microdvd pcm_f64le sds vpk
aptx ea image_dpx_pipe mjpeg pcm_mulaw sdx vplayer
aqtitle ea_cdata image_exr_pipe mjpeg_2000 pcm_s16be segafilm vqf
asf eac3 image_j2k_pipe mlp pcm_s16le shorten w64
asf_o epaf image_jpeg_pipe mlv pcm_s24be siff wav
ass ffm image_jpegls_pipe mm pcm_s24le sln wc3
ast ffmetadata image_pam_pipe mmf pcm_s32be smacker webm_dash_manifest
au filmstrip image_pbm_pipe mov pcm_s32le smjpeg webvtt
avi fits image_pcx_pipe mp3 pcm_s8 smush wsaud
avr flac image_pgm_pipe mpc pcm_u16be sol wsd
avs flic image_pgmyuv_pipe mpc8 pcm_u16le sox wsvqa
bethsoftvid flv image_pictor_pipe mpegps pcm_u24be spdif wtv
bfi fourxm image_png_pipe mpegts pcm_u24le srt wv
bfstm frm image_ppm_pipe mpegtsraw pcm_u32be stl wve
bink fsb image_psd_pipe mpegvideo pcm_u32le str xa
bintext g722 image_qdraw_pipe mpjpeg pcm_u8 subviewer xbin
bit g723_1 image_sgi_pipe mpl2 pjs subviewer1 xmv
bmv g726 image_sunrast_pipe mpsub pmp sup xvag
boa g726le image_svg_pipe msf pva svag xwma
brstm g729 image_tiff_pipe msnwc_tcp pvf swf yop
c93 gdv image_webp_pipe mtaf qcp tak yuv4mpegpipe
caf genh

Enabled muxers:
a64 dnxhd h261 microdvd nut pcm_u24le stream_segment
ac3 dts h263 mjpeg oga pcm_u32be sup
adts dv h264 mkvtimestamp_v2 ogg pcm_u32le swf
adx eac3 hash mlp ogv pcm_u8 tee
aiff f4v hds mmf oma psp tg2
amr ffm hevc mov opus rawvideo tgp
apng ffmetadata hls mp2 pcm_alaw rm truehd
aptx fifo ico mp3 pcm_f32be roq tta
asf filmstrip ilbc mp4 pcm_f32le rso uncodedframecrc
asf_stream fits image2 mpeg1system pcm_f64be rtp vc1
ass flac image2pipe mpeg1vcd pcm_f64le rtp_mpegts vc1t
ast flv ipod mpeg1video pcm_mulaw rtsp voc
au framecrc ircam mpeg2dvd pcm_s16be sap w64
avi framehash ismv mpeg2svcd pcm_s16le scc wav
avm2 framemd5 ivf mpeg2video pcm_s24be segment webm
bit g722 jacosub mpeg2vob pcm_s24le singlejpeg webm_chunk
caf g723_1 latm mpegts pcm_s32be smjpeg webm_dash_manifest
cavsvideo g726 lrc mpjpeg pcm_s32le smoothstreaming webp
crc g726le m4v mxf pcm_s8 sox webvtt
dash gif matroska mxf_d10 pcm_u16be spdif wtv
data gsm matroska_audio mxf_opatom pcm_u16le spx wv
daud gxf md5 null pcm_u24be srt yuv4mpegpipe
dirac

Enabled protocols:
async file httpproxy librtmps mmsh rtp tee
cache ftp icecast librtmpt mmst srtp udp
concat gopher librtmp librtmpte pipe subfile udplite
crypto hls librtmpe md5 prompeg tcp unix
data http

Enabled filters:
abench asetpts crop fps maskedclamp remap spectrumsynth
abitscope asetrate cropdetect framepack maskedmerge removegrain split
acompressor asettb crossfeed framerate mcdeint removelogo spp
acontrast ashowinfo crystalizer framestep mcompand repeatfields ssim
acopy asidedata curves fspp mergeplanes replaygain stereo3d
acrossfade asplit datascope gblur mestimate reverse stereotools
acrusher astats dcshift geq metadata rgbtestsrc stereowiden
adelay astreamselect dctdnoiz gradfun midequalizer roberts streamselect
adrawgraph atadenoise deband haas minterpolate rotate super2xsai
aecho atempo decimate haldclut mix sab superequalizer
aemphasis atrim deflate haldclutsrc movie scale surround
aeval avectorscope deflicker hdcd mpdecimate scale2ref swaprect
aevalsrc avgblur deinterlace_vaapi headphone mptestsrc scale_vaapi swapuv
afade bandpass dejudder hflip negate select tblend
afftfilt bandreject delogo highpass nlmeans selectivecolor telecine
afir bass deshake histeq nnedi sendcmd testsrc
aformat bbox despill histogram noformat separatefields testsrc2
agate bench detelecine hqdn3d noise setdar threshold
ahistogram biquad dilation hqx normalize setfield thumbnail
ainterleave bitplanenoise displace hstack null setpts tile
alimiter blackdetect doubleweave hue nullsink setrange tinterlace
allpass blackframe drawbox hwdownload nullsrc setsar tlut2
allrgb blend drawgraph hwmap oscilloscope settb tonemap
allyuv boxblur drawgrid hwupload overlay showcqt transpose
aloop bwdif dynaudnorm hwupload_cuda owdenoise showfreqs treble
alphaextract cellauto earwax hysteresis pad showinfo tremolo
alphamerge channelmap ebur128 idet palettegen showpalette trim
amerge channelsplit edgedetect il paletteuse showspectrum unpremultiply
ametadata chorus elbg inflate pan showspectrumpic unsharp
amix chromakey eq interlace perms showvolume uspp
amovie ciescope equalizer interleave perspective showwaves vaguedenoiser
anequalizer codecview erosion join phase showwavespic vectorscope
anoisesrc color extractplanes kerndeint pixdesctest shuffleframes vflip
anull colorbalance extrastereo lenscorrection pixscope shuffleplanes vibrato
anullsink colorchannelmixer fade life pp sidechaincompress vignette
anullsrc colorkey fftfilt limiter pp7 sidechaingate vmafmotion
apad colorlevels field loop premultiply sidedata volume
aperms colormatrix fieldhint loudnorm prewitt signalstats volumedetect
aphasemeter colorspace fieldmatch lowpass pseudocolor signature vstack
aphaser compand fieldorder lumakey psnr silencedetect w3fdif
apulsator compensationdelay fillborders lut pullup silenceremove waveform
arealtime concat find_rect lut2 qp sine weave
aresample convolution firequalizer lut3d random smartblur xbr
areverse convolve flanger lutrgb readeia608 smptebars yadif
aselect copy floodfill lutyuv readvitc smptehdbars yuvtestsrc
asendcmd cover_rect format mandelbrot realtime sobel zoompan
asetnsamples

Enabled bsfs:
aac_adtstoasc extract_extradata hevc_metadata mjpega_dump_header mpeg4_unpack_bframes remove_extradata vp9_raw_reorder
chomp h264_metadata hevc_mp4toannexb mov2textsub noise text2movsub vp9_superframe
dca_core h264_mp4toannexb imx_dump_header mp3_header_decompress null trace_headers vp9_superframe_split
dump_extradata h264_redundant_pps mjpeg2jpeg mpeg2_metadata

Enabled indevs:
alsa fbdev lavfi oss sndio v4l2 xcbgrab

Enabled outdevs:
alsa fbdev oss sdl2 sndio v4l2 xv

License: nonfree and unredistributable
libavutil/avconfig.h is unchanged
libavcodec/bsf_list.c is unchanged
libavformat/protocol_list.c is unchanged

checkinstall –pkgname=ffmpeg –pkgversion=”5:$(date +%Y%m%d%H%M)-git” –backup=no \
–deldoc=yes –fstrans=no –default

moe

mysql
coturn Version Coturn-4.5.0.3 ‘dan Eider’

add hard drive

insert into turn_origin_to_realm (origin,realm) values(‘https://turn0.mydetv.com:443′,’mydetv.com’);
external-ip=52.170.237.95
fingerprint
user=turn_user:himom
lt-cred-mech
realm=mydetv.com
log-file=/var/log/turnserver/turnserver.log
simple-log
tls-listening-port=5349

mysql-userdb=”host=127.0.0.1 dbname=turn user=turn password=turn port=3306 connect_timeout=30″
cert=/etc/letsencrypt/live/turn0.mydetv.com/cert.pem
pkey=/etc/letsencrypt/live/turn0.mydetv.com/privkey.pem
#cipher-list=”DEFAULT”
no-tlsv1
no-tlsv1_1
cli-password=qwerty
cli-ip=10.0.0.4

coturn

trying to let the janus server also run coturn

actually it is called turnserver
root@a6:/usr/src2/a6# turnserver -h
0: log file opened: /var/log/turn_15993_2018-03-01.log
0:
RFC 3489/5389/5766/5780/6062/6156 STUN/TURN Server
Version Coturn-4.5.0.3 ‘dan Eider’
0:
Max number of open files/sockets allowed for this process: 1048576
0:
Due to the open files/sockets limitation,
max supported number of TURN Sessions possible is: 524000 (approximately)
0:

==== Show him the instruments, Practical Frost: ====

0: TLS supported
0: DTLS supported
0: DTLS 1.2 supported
0: TURN/STUN ALPN supported
0: Third-party authorization (oAuth) supported
0: GCM (AEAD) supported
0: OpenSSL compile-time version: OpenSSL 1.0.2g-fips 1 Mar 2016
0:
0: SQLite supported, default database location is /var/lib/turn/turndb
0: Redis supported
0: PostgreSQL supported
0: MySQL supported
0: MongoDB is not supported
0:
0: Default Net Engine version: 3 (UDP thread per CPU core)

currently running in Azure

VM: dom
public IP: 52.191.116.248

cat /etc/turnserver.conf
external-ip=52.191.116.248
fingerprint
user=turn_user:b3BlbnZpZHUz
lt-cred-mech
realm=mydetv.com
log-file=/var/log/turnserver/turnserver.log
simple-log

cat /etc/kurento/modules/kurento/WebRtcEndpoint.conf.ini
stunServerAddress=52.191.116.248
stunServerPort=3478
turnURL=turn_user:b3BlbnZpZHU=@52.191.116.248:3478

motion

Linux motion program on a7

sure enough, after a reboot ununtu named my /dev/video devices differently.

using
udevadm info -a -p $(udevadm info -q path -p /class/video4linux/video0)
udevadm info -a -p $(udevadm info -q path -p /class/video4linux/video2)

I found they are different cards.
ATTR{card}==”118″
ATTR{card}==”77″

root@a7:~# lspci
04:00.0 Multimedia video controller: Brooktree Corporation Bt878 Video Capture (rev 11)
04:00.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture (rev 11)
04:01.0 Multimedia video controller: Brooktree Corporation Bt878 Video Capture (rev 11)
04:01.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture (rev 11)

sc-pvs1
pico2000 clone

/sbin/modprobe bttv card=118,118,118,118
udevadm info -a -p $(udevadm info -q path -p /class/video4linux/video1)

[ 8.814502] bttv: driver version 0.9.19 loaded
[ 8.814507] bttv: using 8 buffers with 2080k (520 pages) each for capture

[ 8.814557] bttv: Bt8xx card found (0)
[ 8.814646] bttv: 0: Bt878 (rev 17) at 0000:04:00.0, irq: 17, latency: 32, mmio: 0xe0103000
[ 8.814660] bttv: 0: using: *** UNKNOWN/GENERIC *** [card=0,autodetected]
[ 15.244029] bttv: 0: tuner type unset
[ 15.244207] bttv: 0: registered device video0
[ 15.244264] bttv: 0: registered device vbi0

[ 47.404059] bttv: Bt8xx card found (1)
[ 47.404158] bttv: 1: Bt878 (rev 17) at 0000:04:01.0, irq: 16, latency: 32, mmio: 0xe0101000
[ 47.404173] bttv: 1: using: *** UNKNOWN/GENERIC *** [card=0,autodetected]
[ 47.435151] bttv: 1: tuner type unset
[ 47.435275] bttv: 1: registered device video1
[ 47.435327] bttv: 1: registered device vbi1

lspci -vvvn
04:00.0 0400: 109e:036e (rev 11)
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- SERR- TAbort- SERR-

mysql: passwordless, sprocs

https://serverfault.com/questions/358903/store-the-mysql-client-password-or-setup-password-less-authentication/786944

create my.cnf in ~home
[client]
host = mysql.homlish.net
user = phomlish
password = thepassword
#database = mysql

mysqldump -hmysql.homlish.net -uphomlish mydetvDev –routines -n -d -t > /tmp/routines
mysql -hmysql.homlish.net -uphomlish mydetv

My Delaware TV Swarm – Project Summary

The Swarm project is a solution to perform real browser to browser live P2P broadcasting.

Browser testing is being done in a lab in Delaware, USA and the Azure cloud (east & west US, southeast Australia, south Brazil, north & west Europe, east Asia, south Korea, and west India). Machines include Windows 7, 8, 10, Server 2012, and Linux Centos 7.

Key:

DCCCIBO

D – direction

C

 

 

Background
I’ve been doing live P2P broadcasts since 2006. Every time I get involved with a solution the provider has jumped ship or changed their TOS to own my content if I use them. I don’t own the content so I cannot I accept that TOS.

Mad Buffalo Productions was created because I grew disgusted with the way big media has stolen our music, our movies, our art. When I say ‘our’, I mean us humans. It is ridiculous to me that music that is 40 years old is still owned by big corporations. Did you know that Time Warner owns ‘Happy Birthday to You’, and we won’t legally be able to sing it on stage until the year 2030 unless we pay them off? Update: This was invalidated in 2015 by a federal judge.

Mad Buffalo Productions is the company responsible for the promotion of the artists, and My Delaware TV is the technical ‘get it out to the masses’ entity.

ffmpeg combine files

Assuming the codecs are the same you create a file (example mylist.txt):

file ‘/path/here/file1.avi’
file ‘/path/here/file2.avi’
file ‘/path/here/file3.avi’

Then pass that file to ffmpeg

ffmpeg -f concat -i mylist.txt -c copy x.avi

You can use this command to make the list:

ls *.avi | while read each; do echo “file ‘$each'” >> mylist.txt; done

to convert

ffmpeg -i example.mp4 -f webm -c:v libvpx -b:v 1M -acodec libvorbis example.webm -hide_banner
ffmpeg -f concat -i mylist.txt -f webm -c:v libvpx -b:v 1M -acodec libvorbis oupu.webm -hide_banner
ffmpeg -f concat -i mylist.txt -strict -2 -c:a aac -b:a 128k -c:v libx264 -crf 23 -y output.mp4

to add some keyframes
-x264-params keyint=15:min-keyint=15
ffmpeg -f concat -i mylist.txt -strict -2 -c:a aac -b:a 128k -c:v libx264 -x264-params keyint=15:min-keyint=15 -crf 23 -y output.mp4

ffmpeg -strict -2 -i Collection1-Video124.Kiki.mpg -preset slow -codec:a aac -b:a 128k -codec:v libx264 -pix_fmt yuv420p -b:v 2500k -minrate 1500k -maxrate 4000k -bufsize 5000k -vf scale=-1:720 -strict -2 Collection1-Video124.Kiki2.mp4

ffmpeg -i input.mpg -preset fast -strict -2 -y output.mp4
ffmpeg -i video.mp4 -c:v mpeg2video -q:v 5 -c:a mp2 -f vob video.mpg

hauppauge dvc 100

happauge dazzle dvc 100 v4l2
streaming to rtp

hassle- had to read polish: http://forumdyskusyjne.co.pl/b/748/tuner,tv,em28xx.php. literally took weeks!

had to add my users to audio and video groups

at the end of all this, I put these in rc.local
modprobe em28xx-alsa &
v4l2-ctl -d /dev/video0 –set-standard=ntsc &
v4l2-ctl –set-ctrl=mute=0 &

https://trac.ffmpeg.org/wiki/Capture/ALSA

phomlish@a6:~/dm$ arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC892 Analog [ALC892 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 2: ALC892 Alt Analog [ALC892 Alt Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: DVC100 [DVC100], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0

# which means we need to say -i hw:1
ffmpeg -f alsa -i hw:1 -t 30 -y out.wav
#but this was giving me no sound in the file.
check alsamixer F4 F6 to make sure it’s not muted

maybe this will help
ffmpeg -f alsa -i default:CARD=U0x46d0x809 -t 30 out.wav

so for me
ffmpeg -f alsa -i default:CARD=DVC100 -y out.wav
# still no joy playing with vc from my mac
it’s official, the link above helped me check my math but did not help!

ffmpeg -f alsa -i default:CARD=DVC100 -acodec mp3 -ac 2 -ar 44100 -y out.mp3
ffmpeg -f alsa -i hw:1 -acodec mp3 -ac 2 -ar 44100 -y out.mp3
# no joy

https://forums.linuxmint.com/viewtopic.php?t=123022
v4l2-ctl –set-ctrl=mute=0
ffmpeg -f alsa -i default:CARD=DVC100 -acodec mp3 -ac 2 -ar 44100 -y out.mp3
# that worked

# now to try libopus
ffmpeg -f alsa -i default:CARD=DVC100 -acodec libopus -ac 2 -ar 44100 -y out.webm

# streaming an audio test
ffmpeg -re -f lavfi -i aevalsrc=”sin(400*2*PI*t)” -ar 8000 -f mulaw -f rtp rtp://127.0.0.1:1234

Goals
best recording possible- will be done on a2 with the mpeg compression board
webm to udp

but what is libvisual_infinite?
gst-launch-1.0 alsasrc ! libvisual_lv_analyzer ! eglglessink

What does the Dazzle do?
dmesg
em28xx: New device Pinnacle Systems GmbH DVC100 @ 480 Mbps (2304:021a, interface 0, class 0)
AC97 audio (5 sample rates)
yuyv422 or yuv411p
-video_size 768×576
Width/Height : 640/480
Frames per second: 29.970 (30000/1001)

let’s record the webm file
ffmpeg \
-f video4linux2 -thread_queue_size 1024 -i /dev/video0 \
-f alsa -thread_queue_size 1024 -ar 44100 -channels 2 -channel_layout stereo -i hw:1 \
-video_size 720×480 -pix_fmt yuyv422 \
-c:v libvpx -crf 10 -b:v 246K -r 29.970 \
-c:a libopus -b:a 256k -vbr on -compression_level 10 \
-f webm -y -threads 4 t.webm

and then stream it
ffmpeg -re -i t.webm \
-acodec copy -vn -f rtp rtp://10.11.1.96:5122 \
-vcodec copy -an -f rtp rtp://10.11.1.96:5124

trying gstreamer
test audio/video
/usr/local/bin/gst-launch-1.0 -v \
audiotestsrc ! audioconvert dithering=0 ! opusenc bitrate=128000 ! rtpopuspay pt=98 \
! udpsink host=127.0.0.1 port=5122 \
videotestsrc ! vp8enc ! rtpvp8pay ! udpsink host=127.0.0.1 port=5124

tring videotestsrc
/usr/local/bin/gst-launch-1.0 -v \
videotestsrc ! vp8enc ! rtpvp8pay ! udpsink host=10.11.1.96 port=5124

trying dazzle dvc 100

This worked to record the video
/usr/local/bin/gst-launch-1.0 -v v4l2src device=/dev/video0 norm=NTSC \
! videoscale ! ‘video/x-raw,width=640,height=480,framerate=15/1,interlace-mode=mixed’ \
! videoconvert ! ‘video/x-raw, width=640, height=480’ \
! vp8enc threads=4 ! webmmux \
! filesink location=test.webm

and this worked to stream the video
/usr/local/bin/gst-launch-1.0 -v v4l2src device=/dev/video0 norm=NTSC \
! videoscale ! ‘video/x-raw,width=640,height=480,framerate=15/1,interlace-mode=mixed’ \
! videoconvert ! ‘video/x-raw, width=640, height=480’ ! videorate \
! vp8enc threads=4 ! rtpvp8pay ! udpsink host=10.11.1.96 port=5124

on to audio:
this worked to create the file
GST_DEBUG=4 /usr/local/bin/gst-launch-1.0 -v \
alsasrc num-buffers=1000 device=hw:1 provide-clock=false \
! ‘audio/x-raw, format=S16LE, rate=44100, channels=2’ \
! audioconvert ! audioresample \
! avimux ! filesink location=test.avi
WORKS! but Got EOS from element “pipeline0”.
/usr/local/bin/gst-launch-1.0 -v \
alsasrc num-buffers=1000 device=hw:1 provide-clock=false \
! ‘audio/x-raw, format=S16LE, rate=44100, channels=2’ \
! audioconvert ! audioresample \
! avimux ! filesink location=test.avi

/usr/local/bin/gst-launch-1.0 -v -e \
alsasrc num-buffers=1000 device=hw:1 provide-clock=false \
! ‘audio/x-raw, format=S16LE, rate=44100, channels=2’ \
! audioconvert ! audioresample \
! vorbisenc ! oggmux ! filesink location=test.ogg
Got EOS from element “pipeline0”.
Execution ended after 0:00:10.003604373

maybe we should try open -> rtp
/usr/local/bin/gst-launch-1.0 -v -e \
alsasrc num-buffers=1000 device=hw:1 provide-clock=false \
! ‘audio/x-raw, format=S16LE, rate=44100, channels=2’ \
! audioconvert ! audioresample \
! opusenc ! rtpopuspay ! udpsink host=10.11.1.96 port=5124
Got EOS from element “pipeline0”.
Execution ended after 0:00:10.032618505

/usr/local/bin/gst-launch-1.0 -v -e \
alsasrc num-buffers=10000 device=hw:1 provide-clock=false \
! ‘audio/x-raw, format=S16LE, rate=44100, channels=2’ \
! audioconvert ! audioresample \
! opusenc ! rtpopuspay ! udpsink host=10.11.1.96 port=5124
didn’t stop but also didn’t hear anything…

/usr/local/bin/gst-launch-1.0 -v -e \
alsasrc num-buffers=10000 device=hw:1 provide-clock=false do-timestamp=true \
! ‘audio/x-raw, format=S16LE, rate=44100, channels=2’ \
! queue ! audioconvert ! audioresample ! queue \
! opusenc ! webmmux ! filesink location=test.webm
Got EOS from element “pipeline0”.

/usr/local/bin/gst-launch-1.0 -v -e \
alsasrc num-buffers=10000 device=hw:1 provide-clock=false do-timestamp=true \
! ‘audio/x-raw, format=S16LE, rate=44100, channels=2’ \
! audioconvert ! audioresample \
! opusenc ! webmmux ! filesink location=test.webm
Got EOS from element “pipeline0”.
Execution ended after 0:01:40.006636953

finally got audio working here
/usr/local/bin/gst-launch-1.0 -v -e \
alsasrc num-buffers=-1 device=hw:1 provide-clock=false do-timestamp=true \
! ‘audio/x-raw, format=S16LE, rate=44100, channels=2’ \
! audioconvert ! audioresample \
! opusenc ! webmmux ! filesink location=test.webm

and to put it all together
/usr/local/bin/gst-launch-1.0 -v -e \
alsasrc num-buffers=-1 device=hw:1 provide-clock=false do-timestamp=true \
! ‘audio/x-raw, format=S16LE, rate=44100, channels=2’ \
! audioconvert ! audioresample \
! opusenc ! rtpopuspay ! udpsink host=10.11.1.96 port=5122 \
v4l2src device=/dev/video0 norm=NTSC \
! videoscale ! ‘video/x-raw,width=640,height=480,framerate=15/1,interlace-mode=mixed’ \
! videoconvert ! ‘video/x-raw, width=640, height=480’ ! videorate \
! vp8enc threads=4 ! rtpvp8pay ! udpsink host=10.11.1.96 port=5124

v4l2-ctl –list-devices
Pinnacle Dazzle DVC 90/100/101/ (usb-0000:00:14.0-4):
/dev/video0

ffmpeg -f v4l2 -list_formats all -i /dev/video0
[video4linux2,v4l2 @ 0x3e00380] Raw : yuyv422 : YUYV 4:2:2 : {144-720, 1}x{115-576, 1}
[video4linux2,v4l2 @ 0x3e00380] Raw : rgb565le : 16-bit RGB 5-6-5 : {144-720, 1}x{115-576, 1}
[video4linux2,v4l2 @ 0x3e00380] Raw : bayer_bggr8 : 8-bit Bayer BGBG/GRGR : {144-720, 1}x{115-576, 1}
[video4linux2,v4l2 @ 0x3e00380] Raw : bayer_grbg8 : 8-bit Bayer GRGR/BGBG : {144-720, 1}x{115-576, 1}
[video4linux2,v4l2 @ 0x3e00380] Raw : bayer_gbrg8 : 8-bit Bayer GBGB/RGRG : {144-720, 1}x{115-576, 1}
[video4linux2,v4l2 @ 0x3e00380] Raw : yuv411p : Planar YUV 4:1:1 : {144-720, 1}x{115-576, 1}

ffmpeg -f video4linux2 -video_size 768×576 -i /dev/video0 -framerate 60 -c:v mpeg2video -flags +ilme+ildct tmp.mpg

v4l2-ctl –all
Driver Info (not using libv4l2):
Driver name : em28xx
Card type : Pinnacle Dazzle DVC 90/100/101/
Bus info : usb-0000:00:14.0-4
Driver version: 4.4.87
Capabilities : 0x85200001
Video Capture
Read/Write
Streaming
Extended Pix Format
Device Capabilities
Device Caps : 0x05200001
Video Capture
Read/Write
Streaming
Extended Pix Format
Priority: 2
Video input : 0 (Composite1: ok)
Video Standard = 0x0000b000
NTSC-M/M-JP/M-KR
Format Video Capture:
Width/Height : 720/480
Pixel Format : ‘YUYV’
Field : Interlaced
Bytes per Line : 1440
Size Image : 691200
Colorspace : SMPTE 170M
Transfer Function : Default
YCbCr Encoding : Default
Quantization : Default
Flags :
Streaming Parameters Video Capture:
Frames per second: 29.970 (30000/1001)
Read buffers : 4

User Controls

brightness (int) : min=-128 max=127 step=1 default=0 value=0 flags=slider
contrast (int) : min=0 max=31 step=1 default=16 value=16 flags=slider
saturation (int) : min=0 max=31 step=1 default=16 value=16 flags=slider
red_balance (int) : min=-48 max=48 step=1 default=0 value=0 flags=slider
blue_balance (int) : min=-48 max=48 step=1 default=0 value=0 flags=slider
sharpness (int) : min=0 max=15 step=1 default=0 value=0 flags=slider

v4l2-ctl -d /dev/video0 –set-standard=ntsc