Commit Graph

2226 Commits

Author SHA1 Message Date
Anthony Minessale 8e6fc031e9 FS-7501: add auto sync of jb and fps detection 2015-05-28 11:32:29 -05:00
Anthony Minessale 2219663547 FS-7501: improve linked list algorithm in a few places to help performance 2015-05-28 11:32:27 -05:00
Anthony Minessale 9d64abd6df FS-7502: add some changes for video media bug 2015-05-28 11:32:24 -05:00
Anthony Minessale f75585f11f FS-7502: add record_concat_video=true to show split video recordings with session record 2015-05-28 11:32:17 -05:00
Anthony Minessale 609196b3e6 FS-7499: improve generic nack and vpx framing 2015-05-28 11:32:16 -05:00
Anthony Minessale eb6df71349 FS-7504: allow <modname>.<codecname> support so multiple modules can exist for the same codec 2015-05-28 11:32:14 -05:00
Anthony Minessale 509241bd65 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 11:32:14 -05:00
Anthony Minessale 3797c89703 FS-7500: add partition mode to switch_buffer 2015-05-27 14:57:53 -05:00
Anthony Minessale d1c3540036 FS-7500: don't wait for video ready from inside video thread that sets that flag 2015-05-27 14:57:53 -05:00
Anthony Minessale 28a6b17533 FS-7500: revert 2015-05-27 14:57:53 -05:00
Anthony Minessale 3240e727ca FS-7500: don't wait for video ready from inside video thread that sets that flag 2015-05-27 14:57:53 -05:00
Anthony Minessale 0019b0b7fe FS-7503: store stream name so same module can handle mutiple stream interfaces 2015-05-27 14:57:52 -05:00
Anthony Minessale d30c05c5ab 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-27 14:57:52 -05:00
Michael jerris 845623af13 FS-7499: add enum for various rtcp related types 2015-05-27 14:57:52 -05:00
Anthony Minessale deeb7dcfb0 FS-7509: add some more bandwidth control features 2015-05-27 14:57:51 -05:00
Anthony Minessale 0e9e9d7562 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-27 14:57:50 -05:00
Anthony Minessale 3666fc9646 FS-7500: add force flag 2015-05-27 14:57:50 -05:00
Anthony Minessale 8f6357fac5 FS-7514 FS-7505: clean up more from yesterday 2015-05-27 14:57:49 -05:00
Anthony Minessale bbcb23d5d3 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-27 14:57:49 -05:00
Anthony Minessale 68086789ac 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-27 14:57:48 -05:00
Anthony Minessale b2001f058e FS-7500: can't use stristr for this 2015-05-27 14:57:47 -05:00
Anthony Minessale 5b96aa8bec FS-7513: add code to track media direction to avoid assigning floor or video layers to those with no signal 2015-05-27 14:57:47 -05:00
Anthony Minessale c2f1f8c933 FS-7513 FS-7509: crack at screen share 2015-05-27 14:57:46 -05:00
Seven Du 1c5d2cc010 FS-7500: libpng 1.6.0 has much simpler APIs, also add a new switch_img_patch_png to possible patch a transparent png to an img
While this is not optimal, we should cache the png:
1) cache the whole buffer, with comes with RGBARGBA pixel formats
2) Allow switch_image_t to be other formats e.g. VPX_IMG_FMT_ARGB, VPX_IMG_FMT_ARGB_LE, or VPX_IMG_FMT_444A
   those can have alpha channels so we can check the alpha channel before we patch

Note all PNG are created equel, or maybe a bug in libpng since for some PNG files with alpha the returned buffer
     not seems like RGBARGBA... while docs says it should default be RGBA
2015-05-27 14:57:46 -05:00
Anthony Minessale 75dd419230 FS-7513: add logo func and positioning param and vid snapshot 2015-05-27 14:57:46 -05:00
Anthony Minessale bef4b5b9f7 FS-7513: add configurable FPS for conf and default to 15 2015-05-27 14:57:45 -05:00
Seven Du d898326034 FS-7500: add overlay func 2015-05-27 14:57:45 -05:00
Seven Du 3a2c0b4d6d FS-7500: add yuv2rgb 2015-05-27 14:57:45 -05:00
Anthony Minessale ad462d20e3 FS-7513: basic logo 2015-05-27 14:57:44 -05:00
Anthony Minessale c6293bec9f FS-7500: check in png code and put it in the core to mature 2015-05-27 14:57:44 -05:00
Seven Du f6c7421a22 FS-7506 FS-7513: refactor with rgb color space to support anti aliasing 2015-05-27 14:57:44 -05:00
Anthony Minessale 930658f245 FS-7506 FS-7513: set banner with video_banner_text variable set before calling in, NEEDS DOCS params are parsable inside a {} string 2015-05-27 14:57:43 -05:00
Seven Du 46abb2303b FS-7500 FS-7513: add and use switch_img_fill 2015-05-27 14:57:43 -05:00
Seven Du 0496877221 FS-7506: improve draw_text with minimum anti aliasing 2015-05-27 14:57:43 -05:00
Seven Du 20761800d6 FS-7506 FS-7513: refactor switch color and implement draw_text in mod_conference 2015-05-27 14:57:43 -05:00
Anthony Minessale e33ddac0e6 FS-7513: do layers in order and reset when attaching 2015-05-27 14:57:43 -05:00
Anthony Minessale f198bc3601 FS-7500 FS-7513: add video bandwidth control function and use it in mod_conference 2015-05-27 14:57:42 -05:00
Anthony Minessale 41de24eae9 FS-7500: move function to core 2015-05-27 14:57:42 -05:00
Anthony Minessale 312ede9010 FS-7500: forgot one 2015-05-27 14:57:42 -05:00
Anthony Minessale e778e28400 FS-7500: fix signed error 2015-05-27 14:57:42 -05:00
Anthony Minessale 4333bf49ad FS-7513: add flag to choose between encoding each frame and using central encoder per codec, add parsing for floor fields and reservation fields in layouts, add param to control bandwidth for consolidated codecs, add audio-position attr to images in layout to sync with virtual HRTF 2015-05-27 14:57:42 -05:00
Anthony Minessale 78da46860a FS-7513: refactor conference video muxing to create one distinct encoder per codec used and only create one encoded frame per distinct codec, store current image used by layer on the layer so it is not destroyed before the canvas is written, refactor and rearrange some functions 2015-05-27 14:57:42 -05:00
Anthony Minessale 383e12f5ff FS-7500: convert more to typedef to avoid warnings and build problems 2015-05-27 14:57:41 -05:00
Anthony Minessale afe3da1cc2 FS-7500: use the vpx_image_t from the installed header file to prevent mismatch 2015-05-27 14:57:40 -05:00
Anthony Minessale caadaedd3f FS-7509: stop media on verto detach 2015-05-27 14:57:40 -05:00
Anthony Minessale 50e30fbe12 FS-7501: fix vid buffer reset 2015-05-27 14:57:39 -05:00
Seven Du 5b82b695fa FS-7500: add switch_img_copy to clone an image 2015-05-27 14:57:39 -05:00
Anthony Minessale 5f3106bb05 FS-7500: factor back in video_thread callback and move it to the video_read_frame 2015-05-27 14:57:38 -05:00
Anthony Minessale abd71a7144 support AVPF too 2015-05-27 14:57:38 -05:00
Anthony Minessale b197142c17 FS-7499: add generic nack support to rtp stack 2015-05-27 14:57:38 -05:00