Starting at the top, we throw this to janus:
/opt/ffmpeg/bin/ffmpeg -ss 00:00:00 -re -i file:///usr4/mydetv/webm/archive.org/Drive-inIntermission2/Drive-inIntermission2.ogv.vp8-opus.webm -vcodec copy -an -f rtp rtp://10.11.1.96:5024 -acodec copy -vn -f rtp rtp://10.11.1.96:5022
on mac, play file:
ffplay -protocol_whitelist “file,rtp,udp” -i /private/nfs/a6/usr6/mydetv/webm/clips/fireworks.mp4.vp8-opus.webm -strict -2
not choppy
Once again, I give up. Seems the only way to do it is create fragmented mp4’s and send them so the browser can play the current live piece instead of playing from the beginning. We’ll just wait for webm to be supported everywhere.
for linux roll your own:
https://gstreamer.freedesktop.org/documentation/frequently-asked-questions/git.html
a6 Ubuntu 16.04.5 LTS \n \l
what a pain, the doc’s first line to install dependencies tries to install gstreamer! I don’t want to install it, I just want to build it. talk about the chicken and the egg!
so here is what I did:
sudo apt-get install gtk-doc-tools liborc-0.4-0 liborc-0.4-dev libvorbis-dev libcdparanoia-dev libcdparanoia0 cdparanoia libvisual-0.4-0 libvisual-0.4-dev libvisual-0.4-plugins libvisual-projectm vorbis-tools vorbisgain libopus-dev libopus-doc libopus0 libopusfile-dev libopusfile0 libtheora-bin libtheora-dev libtheora-doc libflac++-dev libavc1394-dev libraw1394-dev libraw1394-tools libraw1394-doc libraw1394-tools libtag1-dev libtagc0-dev libwavpack-dev wavpack
and I did this:
sudo apt-get install libasound2-dev libavcodec-dev libavformat-dev libswscale-dev
but still no joy, so I admitted defeat and
sudo apt-get install libgstreamer1.0-0
and then the same crap with the plugins, gave up for now
revisited 12/21/2018
I gave up on not installing gstreamer from packages. So a gstreamer exists in /usr/local/bin and another one I copiled myself in /opt/gstreamer
export PKG_CONFIG_PATH=/opt/gstreamer/lib/pkgconfig
./autogen.sh –prefix=/opt/gstreamer –enable-gtk-doc –enable-iso-codes –enable-orc
./autogen.sh –prefix=/opt/gstreamer –disable-gtk-doc
my version is shit, had to change /opt/gstreamer/lib/pkgconfig/gstreamer-1.0.pc
from
prefix=/opt/gstreamer
libexecdir=${exec_prefix}/libexec
exec_prefix=${prefix}
to
prefix=/opt/gstreamer
exec_prefix=${prefix}
libexecdir=${exec_prefix}/libexec
v4l2-ctl -d /dev/video0 –list-inputs
ioctl: VIDIOC_ENUMINPUT
Input : 0
Name : Tuner 1
Type : 0x00000001
Audioset : 0x00000007
Tuner : 0x00000000
Standard : 0x0000000000001000 (NTSC-M)
Status : 0x00000000 (ok)
Capabilities: 0x00000004 (SDTV standards)
Input : 1
Name : S-Video 1
Type : 0x00000002
Audioset : 0x00000007
Tuner : 0x00000000
Standard : 0x0000000000FFFFFF (PAL-B/B1/G/H/I/D/D1/K/M/N/Nc/60 NTSC-M/M-JP/443/M-KR SECAM-B/D/G/H/K/K1/L/Lc)
Status : 0x00000000 (ok)
Capabilities: 0x00000004 (SDTV standards)
Input : 2
Name : Composite 1
Type : 0x00000002
Audioset : 0x00000007
Tuner : 0x00000000
Standard : 0x0000000000FFFFFF (PAL-B/B1/G/H/I/D/D1/K/M/N/Nc/60 NTSC-M/M-JP/443/M-KR SECAM-B/D/G/H/K/K1/L/Lc)
Status : 0x00000000 (ok)
Capabilities: 0x00000004 (SDTV standards)
Input : 3
Name : S-Video 2
Type : 0x00000002
Audioset : 0x00000007
Tuner : 0x00000000
Standard : 0x0000000000FFFFFF (PAL-B/B1/G/H/I/D/D1/K/M/N/Nc/60 NTSC-M/M-JP/443/M-KR SECAM-B/D/G/H/K/K1/L/Lc)
Status : 0x00000000 (ok)
Capabilities: 0x00000004 (SDTV standards)
Input : 4
Name : Composite 2
Type : 0x00000002
Audioset : 0x00000007
Tuner : 0x00000000
Standard : 0x0000000000FFFFFF (PAL-B/B1/G/H/I/D/D1/K/M/N/Nc/60 NTSC-M/M-JP/443/M-KR SECAM-B/D/G/H/K/K1/L/Lc)
Status : 0x00000000 (ok)
Capabilities: 0x00000004 (SDTV standards)
Input : 5
Name : Composite 3
Type : 0x00000002
Audioset : 0x00000007
Tuner : 0x00000000
Standard : 0x0000000000FFFFFF (PAL-B/B1/G/H/I/D/D1/K/M/N/Nc/60 NTSC-M/M-JP/443/M-KR SECAM-B/D/G/H/K/K1/L/Lc)
Status : 0x00000000 (ok)
Capabilities: 0x00000004 (SDTV standards)
phomlish@a2:~$ v4l2-ctl -d /dev/video0 –all
Driver Info (not using libv4l2):
Driver name : ivtv
Card type : Hauppauge WinTV PVR-350
Bus info : PCI:0000:02:05.0
Driver version: 4.4.95
Capabilities : 0x812702D3
Video Capture
Video Output
Video Output Overlay
VBI Capture
Sliced VBI Capture
Sliced VBI Output
Tuner
Audio
Radio
Read/Write
Extended Pix Format
Device Capabilities
Device Caps : 0x01230001
Video Capture
Tuner
Audio
Read/Write
Extended Pix Format
Priority: 2
Frequency for tuner 0: 1076 (67.250000 MHz)
Tuner 0:
Name : ivtv TV Tuner
Type : Analog TV
Capabilities : 62.5 kHz multi-standard stereo lang1 lang2 freq-bands
Frequency range : 44.000 MHz – 958.000 MHz
Signal strength/AFC : 0%/0
Current audio mode : stereo
Available subchannels: mono
Video input : 0 (Tuner 1: ok)
Audio input : 0 (Tuner 1)
Video Standard = 0x00001000
NTSC-M
Format Video Capture:
Width/Height : 720/480
Pixel Format : ‘MPEG’
Field : Interlaced
Bytes per Line : 0
Size Image : 131072
Colorspace : SMPTE 170M
Transfer Function : Default
YCbCr Encoding : Default
Quantization : Default
Flags :
Crop Capability Video Capture:
Bounds : Left 0, Top 0, Width 720, Height 480
Default : Left 0, Top 0, Width 720, Height 480
Pixel Aspect: 10/11
Crop Capability Video Output:
Bounds : Left 0, Top 0, Width 720, Height 480
Default : Left 0, Top 0, Width 720, Height 480
Pixel Aspect: 10/11
Selection: crop_default, Left 0, Top 0, Width 720, Height 480
Selection: crop_bounds, Left 0, Top 0, Width 720, Height 480
Selection: compose, Left 0, Top 0, Width 720, Height 480
Selection: compose_default, Left 0, Top 0, Width 720, Height 480
Selection: compose_bounds, Left 0, Top 0, Width 720, Height 480
Streaming Parameters Video Capture:
Frames per second: 29.970 (30000/1001)
Read buffers : 2
Trying this for libvpx. When I try to uninstall it also wants to uninstall a bunch of programs I need.
The following packages will be REMOVED:
colord colord-sensor-argyll gphoto2 gstreamer1.0-plugins-good hplip kamera libgd-tools libgd3 libgphoto2-6 libgraphviz-dev libgvc6
libgvc6-plugins-gtk libmagick++-6.q16-dev libmagick++-dev libmagickcore-6.q16-dev libmagickwand-6.q16-dev libsane libvpx libvpx3
libzbar-dev printer-driver-postscript-hp sane-utils
trying to get rid of the opus garbled sound when sending from the v4l2 capture card
started here:
ffmpeg \
-f alsa -thread_queue_size 2048 -channels 2 -channel_layout stereo -i default:CARD=DVC100 \
-c:a libopus -ac 2 -b:a 48k \
-vn -f rtp rtp://10.11.1.96:5118
ffmpeg \
-f alsa -thread_queue_size 2048 -channels 2 -channel_layout stereo -i default:CARD=DVC100 \
-c:a libopus -ac 2 -b:a 48k -vbr off -compression_level 5 \
-vn -f rtp rtp://10.11.1.96:5122
and a gazillion permutations of that
ffmpeg -h encoder=libopus
Encoder libopus [libopus Opus]:
General capabilities: delay small
Threading capabilities: none
Supported sample rates: 48000 24000 16000 12000 8000
Supported sample formats: s16 flt
libopus AVOptions:
-application E…A… Intended application type (from 2048 to 2051) (default audio)
voip E…A… Favor improved speech intelligibility
audio E…A… Favor faithfulness to the input
lowdelay E…A… Restrict to only the lowest delay modes
-frame_duration E…A… Duration of a frame in milliseconds (from 2.5 to 60) (default 20)
-packet_loss E…A… Expected packet loss percentage (from 0 to 100) (default 0)
-vbr E…A… Variable bit rate mode (from 0 to 2) (default on)
off E…A… Use constant bit rate
on E…A… Use variable bit rate
constrained E…A… Use constrained VBR
-mapping_family E…A… Channel Mapping Family (from -1 to 255) (default -1)
Lorenzo told me to try this, but how does it work?
opusrtp – encapsulate Opus audio in RTP
Docs are very light.
our actual goal will be to record a high quality file for making a dvd. Perhaps we can do that and send it as it is being created
I removed my dependency issues with the shaded jar plugin by switching to slimfast. The shaded jar included way too many libraries which all interfered with each other, causing hours of work to resolve. Slimfast installed in a couple hours and solved all my issues.