]> git.sesse.net Git - casparcg/blobdiff - CHANGES.txt
Fixed broken CG UPDATE
[casparcg] / CHANGES.txt
index 6145114c00be236500f5279f0e11fa7ecbbb21ab..7a028201ae629b4703274efe31420324d5bae077 100644 (file)
-CasparCG 2.0.4 Stable (w.r.t 2.0.3 Stable)\r
-==========================================\r
+C H A N G E S\r
+\r
+CasparCG 2.0.7 Beta (as compared to 2.0.6 Stable)\r
+=================================================\r
+\r
+General\r
+-------\r
+  o FFmpeg: Upgraded to master and adapted CasparCG to FFmpeg API changes\r
+    (Robert Nagy sponsored by SVT)\r
+  o FFmpeg: Fixed problem with frame count calculation (Thomas Kaltz III)\r
+\r
+Producers\r
+---------\r
+\r
+  o New HTML producer has been created (Robert Nagy sponsored by Flemish Radio\r
+    and Television Broadcasting Organization, VRT)\r
+\r
+\r
+\r
+CasparCG 2.0.6 Stable (as compared to 2.0.4 Stable)\r
+===================================================\r
+\r
+General\r
+-------\r
+  o iVGA: Allow for the server to work without Processing.AirSend.x86.dll to\r
+    prevent a possible GPL violation. It is available as a separate optional\r
+    download.\r
+  o iVGA: Only provide sync to channel while connected, to prevent channel\r
+    ticking too fast.\r
+  o FFmpeg: Fixed bug during deinterlace-bob-reinterlace where output fields\r
+    were offset by one field in relation to input fields.\r
+  o FFmpeg: Fixed bug in ffmpeg_consumer where an access violation occurred\r
+    during destruction.\r
+  o FFmpeg: Improved seeking. (Robert Nagy and Thomas Kaltz III)\r
+  o Frontend: Only writes elements to casparcg.config which overrides a default\r
+    value to keep the file as compact as possible.\r
+  o System audio: Patched sfml-audio to work better with oal-consumer and\r
+    therefore removed portaudio as the system audio implementation and went back\r
+    to oal.\r
+  o Flash: Changed so that the initial buffer fill of frames is rendered at a\r
+    frame-duration pace instead of as fast as possible. Otherwise time based\r
+    animations render incorrectly. During buffer recovery, a higher paced\r
+    rendering takes place, but still not as fast as possible, which can cause\r
+    animations to be somewhat incorrectly rendered. This is the only way though\r
+    if we want the buffer to be able to recover after depletion.\r
+  o Fixed race condition during server shutdown.\r
+  o OSC: outgoing audio levels from the audio mixer for each audio channel is\r
+    now transmitted (pFS and dBFS). (Thomas Kaltz III)\r
+  o Stage: Fixed bug where tweened transforms were only ticked when a\r
+    corresponding layer existed.\r
+  o Screen consumer: Added borderless option and correct handling of name\r
+    option. (Thomas Kaltz III)\r
+  o AMCP: CLS now reports duration and framerate for MOVIE files were\r
+    information is possible to extract. (Robert Nagy)\r
+  o Version bump to keep up with CasparCG Client version.\r
+\r
+\r
+\r
+CasparCG 2.0.4 Stable (as compared to 2.0.4 Beta 1)\r
+===================================================\r
 \r
 General\r
 -------\r
+  o Can now open media with file names that only consist of digits.\r
+    (Cambell Prince)\r
+  o Miscellaneous stability and performance improvements.\r
+\r
+Video mixer\r
+-----------\r
+  o Conditional compilation of chroma key support and straight alpha output\r
+    support in shader (just like with blend-modes) because of performance impact\r
+    even when not in use on a layer or on a channel. New <mixer /> element added\r
+    to configuration for turning on mixer features that not everybody would want\r
+    to pay for (performance-wise.) blend-modes also moved into this element.\r
+  o Fixed bug where MIXER LEVELS interpreted arguments in the wrong order, so \r
+    that gamma was interpreted as max_input and vice versa.\r
+\r
+Consumers\r
+---------\r
+  o Added support for NewTek iVGA, which enables the use of CasparCG Server \r
+    fill+key output(s) as input source(s) to a NewTek TriCaster without \r
+    requiring video card(s) in the CasparCG Server machine, or taking up inputs\r
+    in the TriCaster. <newtek-ivga /> element in config enables iVGA on a\r
+    channel. (Robert Nagy sponsored by NewTek)\r
+  o Decklink: Created custom decklink allocator to reduce the memory footprint.\r
+  o Replaced usage of SFML for <system-audio /> with PortAudio, because of\r
+    problems with SFML since change to static linkage. Also PortAudio seems to\r
+    give lower latency.\r
+\r
+Producers\r
+---------\r
+  o FFmpeg: Added support for arbitrary FFmpeg options/parameters\r
+    in ffmpeg_producer. (Cambell Prince)\r
+  o Flash: Flash Player 11.8 now tested and fully supported.\r
+  o Flash: No longer starts a Flash Player to service CG commands that mean\r
+    nothing without an already running Flash Player.\r
+  o Flash: globally serialize initialization and destruction of Flash Players,\r
+    to avoid race conditions in Flash.\r
+  o Flash: changed so that the Flash buffer is filled with Flash Player\r
+    generated content at initialization instead of empty frames.\r
+\r
+OSC\r
+---\r
+  o Performance improvements. (Robert Nagy sponsored by Boffins Technologies)\r
+  o Never sends old values to OSC reveivers. Collects the latest value of each\r
+    path logged since last UDP send, and sends the new UDP packet (to each\r
+    subscribing OSC receiver) with the values collected. (Robert Nagy sponsored\r
+    by Boffins Technologies)\r
+  o Batches as many OSC messages as possible in an OSC bundle to reduce the \r
+    number of UDP packets sent. Breakup into separate packages if necessary to \r
+    avoid fragmentation. (Robert Nagy sponsored by Boffins Technologies)\r
+  o Removed usage of Microsoft Agents library (Server ran out of memory after a\r
+    while) in favour of direct synchronous invocations.\r
+\r
+\r
 \r
+CasparCG 2.0.4 Beta 1 (as compared to 2.0.3 Stable)\r
+===================================================\r
+\r
+General\r
+-------\r
+  o Front-end GUI for simplified configuration and easy access to common tasks.\r
+    (Thomas Kaltz III and Jeff Lafforgue)\r
+  o Added support for video and images file thumbnail generation. By default the\r
+    media directory is scanned every 5 seconds for new/modified/removed files\r
+    and thumbnails are generated/regenerated/removed accordingly.\r
+  o Support for new video modes: 1556p2398, 1556p2400, 1556p2500, 2160p2398,\r
+    2160p2400, 2160p2500, 2160p2997 and 2160p3000.\r
+  o Experimental ATI graphics card support by using static linking against SFML\r
+    instead of dynamic. Should improve ATI GPU support, but needs testing.\r
+  o Added support for playback and pass-through of up to 16 audio channels. See\r
+    http://casparcg.com/forum/viewtopic.php?f=3&t=1453 for more information.\r
+  o Optimizations in AMCP protocol implementations for large incoming messages,\r
+    for example base64 encoded PNG images.\r
   o Logging output now includes milliseconds and has modified format:\r
-    yyyy-mm-d HH:MM:SS.ZZZ\r
-  o Added support for generating thumbnails for media files. Currently only\r
-    video files and images are supported. By default the media directory is\r
-       scanned every 5 seconds for new/modified/removed files and thumbnails are\r
-       generated/regenerated/removed accordingly.\r
+    YYYY-MM-DD hh:mm:ss.zzz\r
+  o Improved audio playback with 720p5994 and 720p6000 channels.\r
+  o An attempt to improve output synchronization of consumers has been made. Use\r
+    for example:\r
+\r
+    <consumers>\r
+      <synchronizing>\r
+        <decklink>\r
+          <device>1</device>\r
+          <embedded-audio>true</embedded-audio>\r
+        </decklink>\r
+        <decklink>\r
+          <device>2</device>\r
+          <key-only>true</key-only>\r
+        </decklink>\r
+      </synchronizing>\r
+    </consumers>\r
+\r
+    ...to instruct the server to keep both DeckLink consumers in sync with each\r
+    other. Consider this experimental, so don't wrap everything in\r
+    <synchronizing /> unless synchronization of consumer outputs is needed. For\r
+    synchronization to be effective all synchronized cards must have genlock\r
+    reference signal connected.\r
+  o Transfer of source code and issue tracker to github. (Thomas Kaltz III)\r
 \r
 Layer\r
 -----\r
-\r
   o Fixed a problem where the first frame was not always shown on LOAD.\r
+    (Robert Nagy)\r
+\r
+Stage\r
+-----\r
+\r
+  o Support for layer consumers for listening to frames coming out of producers.\r
+    (Cambell Prince)\r
 \r
 Audio mixer\r
 -----------\r
-\r
   o Added support for a master volume mixer setting for each channel.\r
 \r
+Video mixer\r
+-----------\r
+  o Added support for chroma keying. (Cambell Prince)\r
+  o Fixed bug where MIXER CONTRAST set to < 1 can cause transparency issues.\r
+  o Experimental support for straight alpha output.\r
+\r
 Consumers\r
 ---------\r
-\r
-  o Simplified implementation of bluefish consumer, with regards to\r
-  o Avoid that the ffmpeg consumer blocks the channel output when it can't keep\r
-    up with the frame rate (drops instead).\r
+  o Avoid that the FFmpeg consumer blocks the channel output when it can't keep\r
+    up with the frame rate (drops frames instead).\r
   o Added support for to create a separate key and fill file when recording with\r
-    the ffmpeg consumer. Add the SEPARATE_KEY parameter to the ffmpeg consumer\r
-       parameter list. The key file will get the _A suffix to be picked up by the\r
-       separated_producer when doing playback.\r
-  o The image consumer now writes to the media folder instead of the data\r
+    the FFmpeg consumer. Add the SEPARATE_KEY parameter to the FFmpeg consumer\r
+    parameter list. The key file will get the _A file name suffix to be picked\r
+    up by the separated_producer when doing playback.\r
+  o The Image consumer now writes to the media folder instead of the data\r
     folder.\r
+  o Fixed bug in DeckLink consumer where we submit too few audio samples to the\r
+    driver when the video format has a frame rate > 50.\r
+  o Added another experimental DeckLink consumer implementation where scheduled\r
+    playback is not used, but a similar approach as in the bluefish consumer\r
+    where we wait for a frame to be displayed and then display the next frame.\r
+    It is configured via a <blocking-decklink> consumer element. The benefits of\r
+    this consumer is lower latency and more deterministic synchronization\r
+    between multiple instances (should not need to be wrapped in a\r
+    <synchronizing> element when separated key/fill is used).\r
 \r
 Producers\r
 ---------\r
-\r
-  o Added support for playing .swf files using the flash producer.\r
+  o Added support for playing .swf files using the Flash producer. (Robert Nagy)\r
+  o Image producer premultiplies PNG images with their alpha.\r
+  o Image producer can load a PNG image encoded as base64 via:\r
+    PLAY 1-0 [PNG_BASE64] <base64 string>\r
+  o FFmpeg producer can now use a directshow input filters:\r
+    PLAY 1-10 "dshow://video=Some Camera"\r
+    (Cambell Prince, Julian Waller and Robert Nagy)\r
+  o New layer producer which directs the output of a layer to another layer via\r
+    a layer consumer. (Cambell Prince)\r
 \r
 AMCP\r
 ----\r
-\r
   o The master volume feature is controlled via the MASTERVOLUME MIXER\r
     parameter. Example: MIXER 1 MASTERVOLUME 0.5\r
   o THUMBNAIL LIST/RETRIEVE/GENERATE/GENERATE_ALL command was added to support\r
     the thumbnail feature.\r
   o ADD 1 FILE output.mov SEPARATE_KEY activates the separate key feature of the\r
-    ffmpeg consumer creating an additional output_a.mov containing only the key.\r
+    FFmpeg consumer creating an additional output_a.mov containing only the key.\r
   o Added KILL command for shutting down the server without console access.\r
-\r
-\r
-CasparCG 2.0.3 Stable (w.r.t 2.0.3 Alpha)\r
-=========================================\r
+  o Added RESTART command for shutting down the server in the same way as KILL\r
+    except that the return code from CasparCG Server is 5 instead of 0, which\r
+    can be used by parent process to take other actions. The\r
+    'casparcg_auto_restart.bat' script restarts the server if the return code is\r
+    5.\r
+  o DATA RETRIEVE now returns linefeeds encoded as an actual linefeed (the\r
+    single character 0x0a) instead of the previous two characters:\r
+    \ followed by n.\r
+  o MIXER CHROMA command added to control the chroma keying. Example:\r
+    MIXER 1-1 CHROMA GREEN|BLUE 0.10 0.04\r
+    (Cambell Prince)\r
+  o Fixed bug where MIXER FILL overrides any previous MIXER CLIP on the same\r
+    layer. The bugfix also has the side effect of supporting negative scale on\r
+    MIXER FILL, causing the image to be flipped.\r
+  o MIXER <ch> STRAIGHT_ALPHA_OUTPUT added to control whether to output straight\r
+    alpha or not.\r
+  o Added INFO <ch> DELAY and INFO <ch>-<layer> DELAY commands for showing some\r
+    delay measurements.\r
+  o PLAY 1-1 2-10 creates a layer producer on 1-1 redirecting the output of\r
+    2-10. (Cambell Prince)\r
+\r
+\r
+OSC\r
+---\r
+  o Support for sending OSC messages over UDP to either a predefined set of\r
+    clients (servers in the OSC sense) or dynamically to the ip addresses of the\r
+    currently connected AMCP clients.\r
+    (Robert Nagy sponsored by Boffins Technologies)\r
+  o /channel/[1-9]/stage/layer/[0-9]\r
+    + always             /paused           [paused or not]\r
+    + color producer     /color            [color string]\r
+    + ffmpeg producer    /profiler/time    [render time]     [frame duration]\r
+    + ffmpeg producer    /file/time        [elapsed seconds] [total seconds]\r
+    + ffmpeg producer    /file/frame       [frame]           [total frames]\r
+    + ffmpeg producer    /file/fps         [fps]\r
+    + ffmpeg producer    /file/path        [file path]\r
+    + ffmpeg producer    /loop             [looping or not]\r
+    + during transitions /transition/frame [current frame]   [total frames]\r
+    + during transitions /transition/type  [transition type]\r
+    + flash producer     /host/path        [filename]\r
+    + flash producer     /host/width       [width]\r
+    + flash producer     /host/height      [height]\r
+    + flash producer     /host/fps         [fps]\r
+    + flash producer     /buffer           [buffered]        [buffer size]\r
+    + image producer     /file/path        [file path]\r
+\r
+\r
+\r
+CasparCG 2.0.3 Stable (as compared to 2.0.3 Alpha)\r
+==================================================\r
 \r
 Stage\r
 -----\r
 \r
-  o Fixed dead-lock that can occur with multiple mixer tweens.\r
+  o Fixed dead-lock that can occur with multiple mixer tweens. (Robert Nagy)\r
 \r
 AMCP\r
 ----\r
 \r
   o DATA STORE now supports creating folders of path specified if they does not\r
-    exist.\r
-  o DATA REMOVE command was added.\r
+    exist. (Jeff Lafforgue)\r
+  o DATA REMOVE command was added. (Jeff Lafforgue)\r
 \r
 \r
-CasparCG 2.0.3 Alpha (w.r.t 2.0 Stable)\r
-=======================================\r
+\r
+CasparCG 2.0.3 Alpha (as compared to 2.0 Stable)\r
+================================================\r
 \r
 General\r
 -------\r
 \r
   o Data files are now stored in UTF-8 with BOM. Latin1 files are still\r
-    supported for backwards compatibility\r
-  o Commands written in UTF-8 to log file but only ascii characters to console.\r
+    supported for backwards compatibility.\r
+  o Commands written in UTF-8 to log file but only ASCII characters to console.\r
   o Added supported video formats:\r
-    + 720p2398 (not supported by decklink)\r
-    + 720p2400 (not supported by decklink)\r
+    + 720p2398 (not supported by DeckLink)\r
+    + 720p2400 (not supported by DeckLink)\r
     + 1080p5994\r
     + 1080p6000\r
-    + 720p30 (not supported by decklink)\r
-    + 720p29.976 (not supported by decklink)\r
+    + 720p30 (not supported by DeckLink)\r
+    + 720p29.976 (not supported by DeckLink)\r
 \r
 CLK\r
 ---\r
@@ -122,8 +340,9 @@ Producers
     + Added PREMULTIPLY parameter to support images stored with straight alpha.\r
 \r
 \r
-CasparCG 2.0 Stable (w.r.t Beta 3)\r
-==================================\r
+\r
+CasparCG 2.0 Stable (as compared to Beta 3)\r
+===========================================\r
 \r
 General\r
 -------\r
@@ -134,14 +353,15 @@ Consumers
 ---------\r
 \r
   o File Consumer\r
-    + Changed semantics to more closely follow ffmpeg (see forums).\r
+    + Changed semantics to more closely follow FFmpeg (see forums).\r
     + Added options, -r, -acodec, -s, -pix_fmt, -f and more.\r
   o Screen Consumer\r
     + Added vsync support.\r
 \r
 \r
-CasparCG 2.0 Beta 3 (w.r.t Beta 1)\r
-==================================\r
+\r
+CasparCG 2.0 Beta 3 (as compared to Beta 1)\r
+===========================================\r
 \r
 Formats\r
 -------\r
@@ -158,7 +378,7 @@ Consumers
 \r
   o File Consumer added\r
     + See updated wiki or ask in forum for more information.\r
-    + Should support anything ffmpeg supports. However, we will work mainly with\r
+    + Should support anything FFmpeg supports. However, we will work mainly with\r
       DNXHD, PRORES and H264.\r
     - Key-only is not supported.\r
   o Bluefish Consumer\r
@@ -189,14 +409,14 @@ Producers
     + Improved auto-transcode accuracy.\r
     + Improved seeking accuracy.\r
     + Fixed bug with looping and LENGTH.\r
-    + Updated to newer ffmpeg version.\r
+    + Updated to newer FFmpeg version.\r
     + Fixed incorrect scaling of NTSC DV files.\r
     + Optimized color conversion when using YADIF filters.\r
   o Flash Producer\r
-    + Release flash-player when empty.\r
-    + Use native resolution template-host.\r
-    + Template-hosts are now choosen automatically if not configured. The\r
-      template-host with the corresponding video-mode name is now chosen.\r
+    + Release Flash Player when empty.\r
+    + Use native resolution TemplateHost.\r
+    + TemplateHosts are now choosen automatically if not configured. The\r
+      TemplateHost with the corresponding video-mode name is now chosen.\r
     + Use square pixel dimensions.\r
 \r
 AMCP\r
@@ -240,14 +460,10 @@ Diagnostics
     previously.\r
   o Diagnostics window is now closable.\r
 \r
-Configuration\r
--------------\r
-\r
-  o Simplified.\r
 \r
 \r
-CasparCG 2.0 Beta 1 (w.r.t Alpha)\r
-=================================\r
+CasparCG 2.0 Beta 1 (as compared to Alpha)\r
+==========================================\r
 \r
   o Blending Modes (needs to be explicitly enabled)\r
     + overlay\r
@@ -264,7 +480,7 @@ CasparCG 2.0 Beta 1 (w.r.t Alpha)
     + min output-level\r
     + max output-level\r
     + gamma\r
-  o Support for ffmpeg-filters such as (ee http://ffmpeg.org/libavfilter.html)\r
+  o Support for FFmpeg-filters such as (ee http://ffmpeg.org/libavfilter.html)\r
     + yadif deinterlacer (optimized in CasparCG for full multi-core support)\r
     + de-noising\r
     + dithering\r
@@ -272,8 +488,8 @@ CasparCG 2.0 Beta 1 (w.r.t Alpha)
     + and many more\r
   o 32-bit SSE optimized audio pipeline.\r
   o Decklink-Consumer uses external-key by default.\r
-  o Decklink-Consumer has 32 bit embedded-audio support.\r
-  o Decklink-Producer has 32 bit embedded-audio support.\r
+  o Decklink-Consumer has 24 bit embedded-audio support.\r
+  o Decklink-Producer has 24 bit embedded-audio support.\r
   o LOADBG with AUTO feature which automatically playes queued clip when\r
     foreground clip has ended.\r
   o STATUS command for layers.\r
@@ -283,7 +499,7 @@ CasparCG 2.0 Beta 1 (w.r.t Alpha)
   o Producer buffering is now configurable.\r
   o Consumer buffering is now configurable.\r
   o Now possible to configure template-hosts for different video-modes.\r
-  o Added auto transcoder for ffmpeg-producer which automatically transcodes\r
+  o Added auto transcoder for FFmpeg producer which automatically transcodes\r
     input video into compatible video format for the channel.\r
     + interlacing (50p -> 50i)\r
     + deinterlacing (50i -> 25p)\r
@@ -299,9 +515,9 @@ CasparCG 2.0 Beta 1 (w.r.t Alpha)
     producer-buffer size greater than 0.\r
   o Improved error and crash recovery.\r
   o Improved logging.\r
-  o Added Image-Scroll-Producer\r
-  o Key-only has now near zery performance overhead.\r
-  o Reduced memory requirements\r
+  o Added Image-Scroll-Producer.\r
+  o Key-only has now near zero performance overhead.\r
+  o Reduced memory requirements.\r
   o Removed "warm up lag" which occured when playing the first media clip after\r
     the server has started.\r
   o Added read-back fence for OpenGL device for improved multi-channel\r
@@ -315,8 +531,9 @@ CasparCG 2.0 Beta 1 (w.r.t Alpha)
   o More than 2 Decklink cards might be possible but have not yet been tested.\r
 \r
 \r
-CasparCG 2.0 Alpha (w.r.t 1.8)\r
-==============================\r
+\r
+CasparCG 2.0 Alpha (as compared to 1.8)\r
+=======================================\r
 \r
 General\r
 -------\r
@@ -327,7 +544,7 @@ General
   o Misc improved scalability.\r
   o XML-configuration.\r
   o Decklink\r
-    + Support for multiple decklink-cards.\r
+    + Support for multiple DeckLink cards.\r
 \r
 Core\r
 ----\r