Commit Graph
490 Commits
Author SHA1 Message Date
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
Anthony Minessale 853873725b FS-7500: factor out the write_image callback and fix the vlc video endpoint to setup and match the audio params of the A leg when bridged 2015-05-28 12:46:48 -05:00
Anthony Minessale 85d34e7ac9 FS-7514: SQUASH ME 2015-05-28 12:46:47 -05:00
Anthony Minessale 6402f3533c FS-7514: vlc audio buffer tweak 2015-05-28 12:46:47 -05:00
Anthony Minessale c584bf5511 FS-7500: reverse default for CF_VIDEO_ECHO to false and now it must be enabled when desired instead of disabled when not needed 2015-05-28 12:46:47 -05:00