694 Commits

Author SHA1 Message Date
Anthony Minessale
abd9867cf9 FS-7514: tweak vlc to ask for aac in mp4
don't start playing until the first read in vlc vid handles
use correct buffer len
Fixing typo. memset should zero out the whole struct
add some mutexes
fix locking issue on bad formatted input string
2015-05-28 12:47:15 -05:00
Anthony Minessale
c13d4bcbbb FS-7514: add pkg-config checks for vlc 2015-05-28 12:47:15 -05:00
Anthony Minessale
026ae6945e FS-7519: cleanup on mod_avformat 2015-05-28 12:47:15 -05:00
Anthony Minessale
7c294f242f FS-7504: allow <modname>.<codecname> support so multiple modules can exist for the same codec 2015-05-28 12:47:13 -05:00
Anthony Minessale
52d15f6398 FS-7505: clean up and support multiple formats to same extensions {modname=mod_vlc}rtmp://foo.com/flvplayback also move [/tmp]file to be {spool_path=/tmp} 2015-05-28 12:47:13 -05:00
Seven Du
ed62be70c3 FS-7519: WIP break mod_av into mod_avformat, moving to libav.org API
Tested with libav 11.3
./configure --prefix=/opt/av --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --host-cflags= --host-ldflags= --enable-libx264 --enable-libmp3lame --enable-libvorbis --enable-libvpx --enable-libfaac --enable-libspeex --enable-nonfree --enable-vda

WIP av file interface, kind of works, need further tweak & cleanup
2015-05-28 12:47:13 -05:00
Anthony Minessale
25dade86aa FS-7519: add pkg-config checks for avformat and avcodec and move modules to use automke 2015-05-28 12:47:13 -05:00
Anthony Minessale
697107547a add audio offset 2015-05-28 12:47:13 -05:00
Seven Du
adbb197414 fix stereo 2015-05-28 12:47:12 -05:00
Seven Du
bbfd9f7ef3 got webm working with mono, todo: stereo, syncing 2015-05-28 12:47:12 -05:00
Seven Du
29bddbd3fc WIP add experimental vorbis codec
made it like a codec mod so we can share the same code in case opus is fully supported in webm
add -lvorbis -lvorbisenc to Makefile
the audio is still completely silence, hope we can find out why
2015-05-28 12:47:12 -05:00
Seven Du
8d4686aee2 some refactors and make audio work with opus
use SWITCH_RTP_MAX_BUF_LEN for video
timestamp has to times 1000 or it too short
neither VLC nor Chrome plays it because they don't support OPUS,
but you can use `ffmpeg -i a.webm b.webm`
2015-05-28 12:47:12 -05:00
Anthony Minessale
db31cc650e fix size 2015-05-28 12:47:12 -05:00
Seven Du
897ec20c99 WIP add mod_webm, video is working, audio is not 2015-05-28 12:47:12 -05:00
Anthony Minessale
39730182e5 FS-7514: add logging to vlc 2015-05-28 12:47:11 -05:00
Anthony Minessale
80fdf7a24c FS-7514: add sanity check for framing 2015-05-28 12:47:11 -05:00
Anthony Minessale
6db97cae7e FS-7514: add youtube stream name 2015-05-28 12:47:11 -05:00
Anthony Minessale
bc09ade1a5 FS-7514: merge conflict from hell 2015-05-28 12:47:10 -05:00
Anthony Minessale
dc2e4c42ca FS-7514: amend 2015-05-28 12:47:10 -05:00
Anthony Minessale
bffdac0bb7 FS-7514: add file params to set some optimal settings from conference into recording handle and make streaming better 2015-05-28 12:47:10 -05:00
Seven Du
39bd8adbdc FS-7514: fix binary & 2015-05-28 12:47:10 -05:00
Anthony Minessale
41577304ad FS-7514: add write to rtmp transparent wrapper 2015-05-28 12:47:10 -05:00
Anthony Minessale
517a6d4ab7 FS-7503: add video read flags to choose flush and or block mode and add stuff to vlc so it can play youtube urls 2015-05-28 12:47:10 -05:00
Seven Du
9d635f57ef add MP3 codec interface 2015-05-28 12:47:10 -05:00
Anthony Minessale
cd9dd44a16 FS-7514: reduce default 2015-05-28 12:47:09 -05:00
Anthony Minessale
8b47053915 FS-7514: drop extra frames 2015-05-28 12:47:09 -05:00
Anthony Minessale
0d34e8ac77 FS-7500: add a framebuffer to reuse memory and use it to offload frame writing from video muxing thread to a dedicated write thread 2015-05-28 12:47:08 -05:00
Anthony Minessale
5ac63b9250 FS-7514: pop only newest frame on video file read to keep sync 2015-05-28 12:47:08 -05:00
Anthony Minessale
9a7a33fb55 FS-7500: block in flag set for wait for video ready 2015-05-28 12:47:07 -05:00
Anthony Minessale
5b509a72ef FS-7505: train video a little in beginning and make play file wait for it to train 2015-05-28 12:47:07 -05:00
Anthony Minessale
d5f67d46db FS-7514: typo 2015-05-28 12:47:07 -05:00
Anthony Minessale
e13c7bc70e FS-7514: add m4v 2015-05-28 12:47:07 -05:00
Anthony Minessale
c255ba7e8f FS-7514: work on sync a little more 2015-05-28 12:47:07 -05:00
Anthony Minessale
baa3d9cd7c FS-7503 FS-7514 FS-7513: fix some buffering bugs in vlc and set mod_conference to match the rate and channels when calling vlc files 2015-05-28 12:47:06 -05:00
Anthony Minessale
36e754eed2 FS-7503: recording tweak 2015-05-28 12:47:06 -05:00
Anthony Minessale
780eef3fc1 FS-7514: add mov 2015-05-28 12:47:06 -05:00
Seven Du
455c20983f FS-7514: vlc endpoint stereo support, add vlc_rate and vlc_channels 2015-05-28 12:47:06 -05:00
Anthony Minessale
500b32b343 FS-7509 FS-7514: another round of cleanup 2015-05-28 12:47:06 -05:00
Anthony Minessale
59da14542f FS-7505 FS-7514: working towards vid rec 2015-05-28 12:47:06 -05:00
Anthony Minessale
a42f40f938 FS-7514 FS-7505: clean up more from yesterday 2015-05-28 12:47:06 -05:00
Anthony Minessale
a63dab7a4a FS-7503 FS-7514: A bunch of stuff:
Get filehandles working with video in some cases (if using vlc://):
    mod_conference for play and record video (will record the canvas in mix mode or floor holder in non-mix mode)
    regular playback app should be able to play vlc streams

Add no-minimize-encoding member flag so particilar memebers can opt out of that setting and still get their own encoded stream (for bw related needs)

TODO:

  mod_vlc is a mess.  Find a way to merge video_context and file_context.  They are very similar and they are intertwined and messy.
  Find out why vlc creates messed up mp4 files that don't play everywhere
  Get VLC so it can record aac, mp4x webm
2015-05-28 12:47:06 -05:00
Anthony Minessale
19d87c46fd FS-7514: sigh 2015-05-28 12:47:05 -05:00
Anthony Minessale
69b955c13b FS-7514: add sync offset default to 500ms 2015-05-28 12:47:05 -05:00
Anthony Minessale
6b289ed02a FS-7514: slow down vlc callback by syncing with video flow 2015-05-28 12:47:05 -05:00
Anthony Minessale
af0f2e6ea8 FS-7514: buffer video too for vlc 2015-05-28 12:47:05 -05:00
Anthony Minessale
4bcc6e6d64 FS-7503 FS-7514: First crack at recording mp4 <action application="capture_video" data="vlc://#transcode{vcodec=h264,acodec=mp3}:std{access=file,mux=mp4,dst=/var/www/sounds/file.mp4}"/> 2015-05-28 12:47:05 -05:00
Seven Du
93ee6158ff FS-7514: make vlc endpoint works with originate in addition to bridge 2015-05-28 12:46:57 -05:00
Anthony Minessale
79ffc95928 FS-7514: keep pointer pointed 2015-05-28 12:46:52 -05:00
Anthony Minessale
1d844f150b FS-7514: don't auto answer in decode_video 2015-05-28 12:46:51 -05:00
Seven Du
23410ab94a FS-7514: use a larger and not hardcoded buffer for video packet 2015-05-28 12:46:50 -05:00