Re: CasparCG-based MAV/EVS replacement [BETA]

#121
Yes, I thought of that too, but I didn't feel comfortable extending the AMCP command set with replay-specific commands. But maybe it would be the most convenient if there were a "RENDER" or "HIGHLIGHTS" command. I don't really have an idea how this should be handled in the server thread-wise. I guess something along the lines of the thumbnail channel, with a separate thread doing only the cutting. There is however the problem of job queue management.

@blitzblitzblitz - the speed thing is rather strange... Were there any other commands you issued before? This obviously shouldn't happen and I need to recreate this bug to avoid it from happening.
Jan Starzak
CasparCG graphics designer, programmer and live CG operator - available for work
Lodz, Poland http://janstarzak.com/

Re: CasparCG-based MAV/EVS replacement [BETA]

#122
First, thanks for reply.

Looks like this speed mismatch effect is not affecting all my computers. It's very strange. Tomorrow I will edit this post and show you my configuration and an example video. Its look to happen when I use 72050p and a decklink sdi as a source. It's strange, playing some mp4 videos happens the same thing, but i thought that it was an effect from a bug in ffmpeg library. You are using jpeg stream. Casparcg doesnt use codecs, true?

Re: CasparCG-based MAV/EVS replacement [BETA]

#123
It doesn't use windows codecs: it uses it's own, statically built ffmpeg library for encoding and decoding. I use a separate turbojpeg library for encoding and decoding jpeg images.

What I would suspect is that there is some combination of factors that causes this kind of behaviour. Is it repeatable? If possible, please also send the caspar log file, maybe there are some clues to the cause.
Jan Starzak
CasparCG graphics designer, programmer and live CG operator - available for work
Lodz, Poland http://janstarzak.com/

Re: CasparCG-based MAV/EVS replacement [BETA]

#124
This is the log:

Code: Select all

[2013-09-25 21:28:31.853] [05AAD100] [info]    ############################################################################
[2013-09-25 21:28:31.853] [05AAD100] [info]    CasparCG Server is distributed by the Swedish Broadcasting Corporation (SVT)
[2013-09-25 21:28:31.853] [05AAD100] [info]    under the GNU General Public License GPLv3 or higher.
[2013-09-25 21:28:31.853] [05AAD100] [info]    Please see LICENSE.TXT for details.
[2013-09-25 21:28:31.853] [05AAD100] [info]    http://www.casparcg.com/
[2013-09-25 21:28:31.853] [05AAD100] [info]    ############################################################################
[2013-09-25 21:28:31.853] [05AAD100] [info]    Starting CasparCG Video and Graphics Playout Server 2.0.4.a846081 Beta 1 (MAV)
[2013-09-25 21:28:31.853] [05AAD100] [info]    on Windows 7 Professional 
[2013-09-25 21:28:31.853] [05AAD100] [info]    Intel(R) Xeon(R) CPU E3-1230 V2 @ 3.30GHz Physical Threads: 8
[2013-09-25 21:28:31.853] [05AAD100] [info]    System Product Name
[2013-09-25 21:28:31.904] [05AAD100] [info]    Decklink 9.7.6
[2013-09-25 21:28:31.955] [05AAD100] [info]     - Intensity Pro [1]
[2013-09-25 21:28:31.956] [05AAD100] [info]     - Intensity Pro [2]
[2013-09-25 21:28:31.956] [05AAD100] [info]     - DeckLink SDI [3]
[2013-09-25 21:28:31.957] [05AAD100] [info]    Bluefish Not found
[2013-09-25 21:28:31.958] [05AAD100] [info]    FreeImage 3.15.4
[2013-09-25 21:28:31.958] [05AAD100] [info]    FFMPEG-avcodec 53.36.0
[2013-09-25 21:28:31.958] [05AAD100] [info]    FFMPEG-avformat 53.21.0
[2013-09-25 21:28:31.958] [05AAD100] [info]    FFMPEG-avfilter 2.49.0
[2013-09-25 21:28:31.958] [05AAD100] [info]    FFMPEG-avutil 51.26.0
[2013-09-25 21:28:31.958] [05AAD100] [info]    FFMPEG-swscale 2.1.0
[2013-09-25 21:28:31.958] [05AAD100] [info]    Flash Not found
[2013-09-25 21:28:31.961] [05AAD100] [info]    Template-Host Unknown
[2013-09-25 21:28:31.961] [05AAD100] [info]    casparcg.config:
-----------------------------------------
<?xml version="1.0" encoding="utf-8"?>
<configuration>
   <paths>
      <media-path>S:\UNTTV\media</media-path>
      <log-path>log\</log-path>
      <data-path>data\</data-path>
      <template-path>S:\UNTTV\templates\</template-path>
   </paths>
   <log-level>debug</log-level>
   <channel-grid>true</channel-grid>
   <blend-modes>true</blend-modes>
   <auto-deinterlace>true</auto-deinterlace>
   <auto-transcode>true</auto-transcode>
   <pipeline-tokens>8</pipeline-tokens>
   <flash>
      <buffer-depth>10</buffer-depth>
   </flash>
   <channels>
      <channel>
         <video-mode>720p5000</video-mode>
         <consumers>
            <screen>
               <device>2</device>
               <aspect-ratio>default</aspect-ratio>
               <stretch>none</stretch>
               <windowed>false</windowed>
               <key-only>false</key-only>
               <auto-deinterlace>true</auto-deinterlace>
               <vsync>false</vsync>
            </screen>
         </consumers>
      </channel>
      <channel>
         <video-mode>720p5000</video-mode>
         <consumers/>
      </channel>
   </channels>
   <controllers>
      <tcp>
         <port>5250</port>
         <protocol>AMCP</protocol>
      </tcp>
   </controllers>
   <osc>
      <default-port>6250</default-port>
      <predefined-clients/>
   </osc>
</configuration>
-----------------------------------------
[2013-09-25 21:28:31.962] [05AAD100] [info]    Initializing OpenGL Device.
[2013-09-25 21:28:31.978] [05A10770] [info]    OpenGL 4.3.0 NVIDIA Corporation
[2013-09-25 21:28:31.978] [05A10770] [info]    Successfully initialized OpenGL Device.
[2013-09-25 21:28:32.046] [05AAD100] [info]    Initialized ffmpeg module.
[2013-09-25 21:28:32.047] [05AAD100] [info]    Initialized bluefish module.
[2013-09-25 21:28:32.082] [05AAD100] [info]    Initialized decklink module.
[2013-09-25 21:28:32.082] [05AAD100] [info]    Initialized oal module.
[2013-09-25 21:28:32.082] [05AAD100] [info]    Initialized ogl module.
[2013-09-25 21:28:32.082] [05AAD100] [info]    Initialized image module.
[2013-09-25 21:28:32.082] [05AAD100] [info]    Initialized flash module.
[2013-09-25 21:28:32.082] [05AAD100] [info]    Initialized replay module.
[2013-09-25 21:28:32.086] [05AAD100] [info]    video_channel[1|720p5000] Successfully Initialized.
[2013-09-25 21:28:32.087] [05AAD100] [info]    ogl[1|720p5000] Successfully Initialized.
[2013-09-25 21:28:32.087] [05A10830] [info]    output[1] ogl[1|720p5000] Added.
[2013-09-25 21:28:32.090] [05AAD100] [info]    video_channel[2|720p5000] Successfully Initialized.
[2013-09-25 21:28:32.091] [05AAD100] [info]    video_channel[3|576p2500] Successfully Initialized.
[2013-09-25 21:28:32.092] [05AAD100] [info]    Initialized channels.
[2013-09-25 21:28:32.093] [05AAD100] [info]    Initialized thumbnail generator.
[2013-09-25 21:28:32.094] [05AAD100] [info]    WinSock2 Initialized.
[2013-09-25 21:28:32.094] [05AAD100] [info]    Listener successfully initialized
[2013-09-25 21:28:32.094] [05AAD100] [info]    Initialized controllers.
[2013-09-25 21:28:32.094] [05AAD100] [info]    Initialized osc.
[2013-09-25 21:28:32.304] [05A10890] [info]    ogl[1|720p5000] Successfully Initialized.
[2013-09-25 21:28:35.900] [07DF5A90] [info]    Accepted connection from 127.0.0.1 2
[2013-09-25 21:28:35.929] [07DF5A90] [info]    Received message from 127.0.0.1: VERSION SERVER\r\n
[2013-09-25 21:28:35.929] [07DF5A90] [info]    Received message from 127.0.0.1: INFO\r\n
[2013-09-25 21:28:35.929] [05A10A10] [debug]   Executed command: VersionCommand
[2013-09-25 21:28:35.929] [07DF5A90] [info]    Received message from 127.0.0.1: CLS\r\n
[2013-09-25 21:28:35.929] [07DF5A90] [info]    Received message from 127.0.0.1: TLS\r\n
[2013-09-25 21:28:35.929] [07DF5A90] [info]    Received message from 127.0.0.1: DATA LIST\r\n
[2013-09-25 21:28:35.929] [05A10A10] [info]    Sent message to 127.0.0.1: 201 VERSION OK\r\n2.0.4.a846081 Beta 1 (MAV)\r\n
[2013-09-25 21:28:35.929] [07DF5A90] [info]    Received message from 127.0.0.1: THUMBNAIL LIST\r\n
[2013-09-25 21:28:35.929] [05A10A10] [debug]   Executed command: InfoCommand
[2013-09-25 21:28:35.929] [05A10A10] [info]    Sent message to 127.0.0.1: 200 INFO OK\r\n1 720p5000 PLAYING\r\n2 720p5000 PLAYING\r\n3 576p2500 PLAYING\r\n\r\n
[2013-09-25 21:28:35.932] [05A10A10] [debug]   Executed command: ClsCommand
[2013-09-25 21:28:35.932] [05A10A10] [info]    Sent more than 512 bytes to 127.0.0.1
[2013-09-25 21:28:35.932] [05A10A10] [debug]   Executed command: TlsCommand
[2013-09-25 21:28:35.933] [05A10A10] [info]    Sent message to 127.0.0.1: 200 TLS OK\r\n"ROTULO-SENCILLO" 232545 20130914104316\r\n\r\n
[2013-09-25 21:28:35.933] [05A10A10] [debug]   Executed command: DataCommand
[2013-09-25 21:28:35.933] [05A10A10] [info]    Sent message to 127.0.0.1: 200 DATA LIST OK\r\n\r\n
[2013-09-25 21:28:35.936] [05A10A10] [debug]   Executed command: ThumbnailCommand
[2013-09-25 21:28:35.936] [05A10A10] [info]    Sent more than 512 bytes to 127.0.0.1
[2013-09-25 21:28:35.956] [07DF5A90] [info]    Received message from 127.0.0.1: VERSION SERVER\r\n
[2013-09-25 21:28:35.956] [07DF5A90] [info]    Received message from 127.0.0.1: INFO\r\n
[2013-09-25 21:28:35.956] [05A10A10] [debug]   Executed command: VersionCommand
[2013-09-25 21:28:35.956] [07DF5A90] [info]    Received message from 127.0.0.1: CLS\r\n
[2013-09-25 21:28:35.956] [05A10A10] [info]    Sent message to 127.0.0.1: 201 VERSION OK\r\n2.0.4.a846081 Beta 1 (MAV)\r\n
[2013-09-25 21:28:35.956] [07DF5A90] [info]    Received message from 127.0.0.1: TLS\r\n
[2013-09-25 21:28:35.956] [05A10A10] [debug]   Executed command: InfoCommand
[2013-09-25 21:28:35.956] [07DF5A90] [info]    Received message from 127.0.0.1: DATA LIST\r\n
[2013-09-25 21:28:35.956] [05A10A10] [info]    Sent message to 127.0.0.1: 200 INFO OK\r\n1 720p5000 PLAYING\r\n2 720p5000 PLAYING\r\n3 576p2500 PLAYING\r\n\r\n
[2013-09-25 21:28:35.956] [07DF5A90] [info]    Received message from 127.0.0.1: THUMBNAIL LIST\r\n
[2013-09-25 21:28:35.958] [05A10A10] [debug]   Executed command: ClsCommand
[2013-09-25 21:28:35.958] [05A10A10] [info]    Sent more than 512 bytes to 127.0.0.1
[2013-09-25 21:28:35.959] [05A10A10] [debug]   Executed command: TlsCommand
[2013-09-25 21:28:35.959] [05A10A10] [info]    Sent message to 127.0.0.1: 200 TLS OK\r\n"ROTULO-SENCILLO" 232545 20130914104316\r\n\r\n
[2013-09-25 21:28:35.959] [05A10A10] [debug]   Executed command: DataCommand
[2013-09-25 21:28:35.959] [05A10A10] [info]    Sent message to 127.0.0.1: 200 DATA LIST OK\r\n\r\n
[2013-09-25 21:28:35.961] [05A10A10] [debug]   Executed command: ThumbnailCommand
[2013-09-25 21:28:35.961] [05A10A10] [info]    Sent more than 512 bytes to 127.0.0.1
[2013-09-25 21:28:59.305] [07DF5A90] [info]    Received message from 127.0.0.1: PLAY 2-11 DECKLINK DEVICE 3 FORMAT 720p5000\r\n
[2013-09-25 21:28:59.305] [07DF5A90] [info]    Received message from 127.0.0.1: add 2 replay DUMP\r\n
[2013-09-25 21:28:59.322] [07DF5A90] [info]    Received message from 127.0.0.1: route 1-11 2-11\r\n
[2013-09-25 21:28:59.322] [05A10A70] [info]    layer-producer[11] Initialized
[2013-09-25 21:28:59.322] [05A10A70] [info]    layer-producer[11] Initialized.
[2013-09-25 21:28:59.322] [05A10A70] [debug]   Executed command: RouteCommand
[2013-09-25 21:28:59.323] [05A10A70] [info]    Sent message to 127.0.0.1: 202 ROUTE OK\r\n
[2013-09-25 21:28:59.380] [05A10AA0] [info]    DeckLink SDI [3|720p5000] Initialized.
[2013-09-25 21:28:59.381] [05A10AA0] [info]    transition[empty=>DeckLink SDI [3|720p5000]] Initialized.
[2013-09-25 21:28:59.381] [05A10AA0] [debug]   Executed command: PlayCommand
[2013-09-25 21:28:59.381] [05A10AA0] [info]    Sent message to 127.0.0.1: 202 PLAY OK\r\n
[2013-09-25 21:28:59.394] [05A10920] [info]    transition[empty=>DeckLink SDI [3|720p5000]] End Of File.
[2013-09-25 21:28:59.394] [05A10920] [info]    transition[empty=>DeckLink SDI [3|720p5000]] Uninitialized.
[2013-09-25 21:28:59.435] [05A108C0] [info]    output[2] replay_consumer[DUMP.mav|0] Added.
[2013-09-25 21:28:59.435] [05A10AA0] [debug]   Executed command: AddCommand
[2013-09-25 21:28:59.435] [05A10AA0] [info]    Sent message to 127.0.0.1: 202 ADD OK\r\n
[2013-09-25 21:32:12.773] [07DF5A90] [info]    Received message from 127.0.0.1: play 1-10 DUMP\r\n
[2013-09-25 21:32:12.773] [07DF5A90] [info]    Received message from 127.0.0.1: MIXER 1-11 FILL 0 -0.0125 0.389844 0.409722 1 Linear\r\n
[2013-09-25 21:32:12.773] [07DF5A90] [info]    Received message from 127.0.0.1: CALL 2  SEEK -9000 speed 1\r\n
[2013-09-25 21:32:12.773] [05A10AA0] [error]   c:\users\jasio\documents\visual studio 2010\projects\casparcg-mav\core\producer\frame_producer.h(68): Throw in function class boost::unique_future<class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > > __thiscall caspar::core::frame_producer::call(const class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > &)
Dynamic exception type: class boost::exception_detail::clone_impl<struct caspar::not_supported>
std::exception::what: Unknown exception

[2013-09-25 21:32:12.773] [05A10AA0] [warning] Failed to execute command: CallCommand
[2013-09-25 21:32:12.773] [05A10AA0] [info]    Sent message to 127.0.0.1: 502 CALL FAILED\r\n
[2013-09-25 21:32:12.775] [05A10A70] [info]    replay_producer[S:\UNTTV\media\\DUMP.mav|0|0] File starts at: 20130925T192859.420123
[2013-09-25 21:32:12.775] [05A10A70] [info]    replay_producer[S:\UNTTV\media\\DUMP.mav|0|1] Initialized.
[2013-09-25 21:32:12.776] [05A10A70] [info]    transition[empty=>replay_producer[S:\UNTTV\media\\DUMP.mav|0|1]] Initialized.
[2013-09-25 21:32:12.776] [05A10A70] [debug]   Executed command: PlayCommand
[2013-09-25 21:32:12.776] [05A10A70] [info]    Sent message to 127.0.0.1: 202 PLAY OK\r\n
[2013-09-25 21:32:12.776] [05A10A70] [debug]   Executed command: MixerCommand
[2013-09-25 21:32:12.776] [05A10A70] [info]    Sent message to 127.0.0.1: 202 MIXER OK\r\n
[2013-09-25 21:32:12.792] [059FCED0] [info]    transition[empty=>replay_producer[S:\UNTTV\media\\DUMP.mav|0|1]] End Of File.
[2013-09-25 21:32:12.792] [059FCED0] [info]    transition[empty=>replay_producer[S:\UNTTV\media\\DUMP.mav|1|1]] Uninitialized.
[2013-09-25 21:32:38.052] [07DF5A90] [info]    Received message from 127.0.0.1: play 1-10 DUMP\r\n
[2013-09-25 21:32:38.052] [07DF5A90] [info]    Received message from 127.0.0.1: MIXER 1-11 FILL 0 -0.0125 0.389844 0.409722 1 Linear\r\n
[2013-09-25 21:32:38.052] [07DF5A90] [info]    Received message from 127.0.0.1: CALL 2  SEEK -9000 speed 1\r\n
[2013-09-25 21:32:38.053] [05A10AA0] [error]   c:\users\jasio\documents\visual studio 2010\projects\casparcg-mav\core\producer\frame_producer.h(68): Throw in function class boost::unique_future<class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > > __thiscall caspar::core::frame_producer::call(const class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > &)
Dynamic exception type: class boost::exception_detail::clone_impl<struct caspar::not_supported>
std::exception::what: Unknown exception

[2013-09-25 21:32:38.053] [05A10AA0] [warning] Failed to execute command: CallCommand
[2013-09-25 21:32:38.053] [05A10AA0] [info]    Sent message to 127.0.0.1: 502 CALL FAILED\r\n
[2013-09-25 21:32:38.055] [05A10A70] [info]    replay_producer[S:\UNTTV\media\\DUMP.mav|0|0] File starts at: 20130925T192859.420123
[2013-09-25 21:32:38.055] [05A10A70] [info]    replay_producer[S:\UNTTV\media\\DUMP.mav|0|1] Initialized.
[2013-09-25 21:32:38.055] [05A10A70] [info]    transition[empty=>replay_producer[S:\UNTTV\media\\DUMP.mav|0|1]] Initialized.
[2013-09-25 21:32:38.055] [05A10A70] [debug]   Executed command: PlayCommand
[2013-09-25 21:32:38.056] [05A10A70] [info]    Sent message to 127.0.0.1: 202 PLAY OK\r\n
[2013-09-25 21:32:38.056] [05A10A70] [debug]   Executed command: MixerCommand
[2013-09-25 21:32:38.056] [05A10A70] [info]    Sent message to 127.0.0.1: 202 MIXER OK\r\n
[2013-09-25 21:32:38.074] [05A10860] [info]    transition[replay_producer[S:\UNTTV\media\\DUMP.mav|1264|1]=>replay_producer[S:\UNTTV\media\\DUMP.mav|0|1]] End Of File.
[2013-09-25 21:32:38.151] [05A10860] [info]    replay_producer[S:\UNTTV\media\\DUMP.mav|1264|1] Uninitialized.
[2013-09-25 21:32:38.151] [05A10860] [info]    transition[replay_producer[S:\UNTTV\media\\DUMP.mav|1264|1]=>replay_producer[S:\UNTTV\media\\DUMP.mav|1|1]] Uninitialized.
This is the rundown:

Code: Select all

<?xml version="1.0" encoding="UTF-8"?><items><item><type>GROUP</type><label>INICIALIZACIÓN REALTIME (SALIDA CANAL 2)</label><expanded>true</expanded><channel>1</channel><videolayer>10</videolayer><delay>0</delay><allowgpi>false</allowgpi><notes>ATENCIÓN, RETRASO POSIBLE</notes><autostep>false</autostep><color>Transparent</color><items><item><type>DECKLINKINPUT</type><devicename>PIPS / Replays</devicename><label>DECKLINK SDI</label><name>DeckLink Input</name><channel>2</channel><videolayer>11</videolayer><delay>0</delay><allowgpi>false</allowgpi><device>3</device><format>720p5000</format><transition>CUT</transition><duration>1</duration><tween>Linear</tween><direction>RIGHT</direction><color>Transparent</color></item><item><type>CUSTOMCOMMAND</type><devicename>PIPS / Replays</devicename><label>REPLAY: GRABAR CANAL 2</label><name></name><channel>1</channel><videolayer>10</videolayer><delay>0</delay><allowgpi>false</allowgpi><stopCommand></stopCommand><playCommand>add 2 replay DUMP</playCommand><loadCommand></loadCommand><pauseCommand></pauseCommand><nextCommand></nextCommand><updateCommand></updateCommand><invokeCommand></invokeCommand><clearCommand></clearCommand><clearVideolayerCommand></clearVideolayerCommand><clearChannelCommand></clearChannelCommand><triggeronnext>false</triggeronnext><color>Transparent</color></item><item><type>CUSTOMCOMMAND</type><devicename>PIPS / Replays</devicename><label>REPLAY: ROUTE DECKLINK A 1-11</label><name></name><channel>1</channel><videolayer>10</videolayer><delay>1</delay><allowgpi>false</allowgpi><stopCommand></stopCommand><playCommand>route 1-11 2-11</playCommand><loadCommand></loadCommand><pauseCommand></pauseCommand><nextCommand></nextCommand><updateCommand></updateCommand><invokeCommand></invokeCommand><clearCommand>clear 1-11</clearCommand><clearVideolayerCommand></clearVideolayerCommand><clearChannelCommand></clearChannelCommand><triggeronnext>false</triggeronnext><color>Transparent</color></item></items></item><item><type>GROUP</type><label>DELAYED PLAYBACK</label><expanded>true</expanded><channel>1</channel><videolayer>10</videolayer><delay>0</delay><allowgpi>false</allowgpi><notes></notes><autostep>false</autostep><color>Transparent</color><items><item><type>CUSTOMCOMMAND</type><devicename>PIPS / Replays</devicename><label>REPLAY: REPRODUCIR 1-12 CON 3 MINS DE DELAY</label><name></name><channel>1</channel><videolayer>10</videolayer><delay>0</delay><allowgpi>false</allowgpi><stopCommand></stopCommand><playCommand>play 1-10 DUMP</playCommand><loadCommand></loadCommand><pauseCommand></pauseCommand><nextCommand></nextCommand><updateCommand></updateCommand><invokeCommand></invokeCommand><clearCommand>clear 1-12</clearCommand><clearVideolayerCommand></clearVideolayerCommand><clearChannelCommand></clearChannelCommand><triggeronnext>false</triggeronnext><color>Transparent</color></item><item><type>TRANSFORMATION</type><devicename>PIPS / Replays</devicename><label>REPLAY: PIP-TEST</label><name>Transformation</name><channel>1</channel><videolayer>11</videolayer><delay>0</delay><allowgpi>false</allowgpi><positionx>0</positionx><positiony>-0.0125</positiony><scalex>0.389844</scalex><scaley>0.409722</scaley><duration>1</duration><tween>Linear</tween><triggeronnext>false</triggeronnext><defer>false</defer><color>Transparent</color></item><item><type>CUSTOMCOMMAND</type><devicename>PIPS / Replays</devicename><label>Custom Command</label><name></name><channel>1</channel><videolayer>10</videolayer><delay>0</delay><allowgpi>false</allowgpi><stopCommand></stopCommand><playCommand>CALL 2  SEEK -9000 speed 1</playCommand><loadCommand></loadCommand><pauseCommand></pauseCommand><nextCommand></nextCommand><updateCommand></updateCommand><invokeCommand></invokeCommand><clearCommand></clearCommand><clearVideolayerCommand></clearVideolayerCommand><clearChannelCommand></clearChannelCommand><triggeronnext>false</triggeronnext><color>Transparent</color></item></items></item></items>
The video starts to play: 1st two seconds it went well on time, at the third second (aprox) it start to go double speed.

All the system is configured on 720p50.

I've tested it on two different computers (Windows 7 PRO x64, XEON + QUADRO and I7 + GEFORCE640).

It is not related to the system, because i've tried it on a full clean new windows 7 installation.

Thank you in advance!

Re: CasparCG-based MAV/EVS replacement [BETA]

#130
I've been so busy with work, i haven't had time to look at this much.

I have a few days off now, and will be installing and trying out some bits and pieces. I built a machine to spec for this, with a bmd Decklink Quad and 4k Extreme. Caspar is running great, so i need to take some time and get jstar's plugins installed and working!

I hope jstar is around to help/answer questions!

Re: CasparCG-based MAV/EVS replacement [BETA]

#131
Hello all! I just installed CCG MAV on an experimental system running WinXP SP2 and a Decklink Duo. I've been keeping tabs on this thread here and am very excited to start experimenting with this, as an EVS XT is *way* out of my price range, and this seems like it could be a suitable solution in its own right. I noticed in previous posts that people were asking for input from EVS operators, so here are a few thoughts on that...

- If you *really* want to emulate EVS, the front end should be built in curses. Given the speed that replay operators are required to work at, being able to do everything on the keyboard is a huge plus over the mouse. That's why the EVS interface, while appearing quite antiquated as a text-only application, has stuck around for so long. In a tough live workflow the mouse just isn't quick enough.

- The ability to clip footage into cue numbers and create a quick playlist (ideally with a standard dissolve effect between clips) is a huge part of what we do.

- It would be great to be able to do straight imports of QuickTime clips. I don't know if this is possible right now. One of the huge disadvantages of EVS is having to deal with its specific formats. When we send elements for playback to remote trucks, they often go on D5 tape and are ingested in real-time.

Thanks to everyone for all their work on this project. While my coding ability is not my strongest area, I look forward to testing this out. Going to try to do the quick start tonight, see what that does for me.

Re: CasparCG-based MAV/EVS replacement [BETA]

#132
Hi everyone,

Just to let everybody know: nobody "bought" the project, there are no nefarious forces in play ;) Simple thing is, I have changed workplaces, and while my previous employer was kind enough to allow me to do this project on company time, my new employer (while very kind and generous) has a lot things going on, and I have to put those before the MAV project.

Hopefully, I will be able to come back to this project as soon as my current projects finish and do some more work on it. Still: this is all open source, so the development isn't really dead - it's just waiting for someone to pick it up.
Jan Starzak
CasparCG graphics designer, programmer and live CG operator - available for work
Lodz, Poland http://janstarzak.com/

Re: CasparCG-based MAV/EVS replacement [BETA]

#133
Thanks for checking in, jstar. I've been very excited to start testing the MAV system but have had a bit of trouble with the quickstart. I think it may have to do with me running this on XP SP2, but as I'm using old hardware it would be ideal to use an older OS. I am not in front of the machine right now but when I try to initialize the input stream (I think the command from the FAQ was "start 1 decklink 1") I get a "file not found" error and some sort of C++ error thrown. I can bring more specifics later if someone would like to take a look at it.

I have been *desperately* searching for a capable playback system that can also do buffered playback and I'm quite excited to get CCG integrated. While I'm not a programmer by trade, I can work my way around lua and am hoping to build a front end based out of that, perhaps using some of the code that John from JustMacros has for us using ATEM switchers (which I am.) I am not generally in favor of integrated systems as I prefer each system to be able to run on its own and to spread redundancy as far as I can, so any sort of userland thing I would be would be for use on the console by an operator.

Glad to see some thread traffic around here, hope we can get something working because this sort of solution would be an excellent addition to my setup!

Re: CasparCG-based MAV/EVS replacement [BETA]

#134
Do you have the Visual C++ Runtime Installed as required by the basic CasparCG? Obiously you do need to have the latest decklink drivers installed. Try setting up the basic CasparCG before trying out the MAV edition - this should sort out most of your problems. Does the "play 1 decklink 1" (not "start" - mind you) work ok in the ordinary version?
Jan Starzak
CasparCG graphics designer, programmer and live CG operator - available for work
Lodz, Poland http://janstarzak.com/

Re: CasparCG-based MAV/EVS replacement [BETA]

#135
"play 1 decklink 1" result, same in both versions: http://pastebin.com/6XLTQAtp

XP Corporate SP2 (fresh install)
MAV 2.0.4a846081 Beta 1
caspar 2.0.460e4e25
Visual C++ Redist 10.0.30319
BMD Desktop Video 9.2

MAV config: http://pastebin.com/C4CbyN30

I decided to use BMD drivers designed for SP2, the latest ones would not install. For what it's worth, I do have a copy of Win7 x64 but that would put a lot of burden on the a core 2 duo in there right now. I think it's fine, the decklink does the heavy lifting. Staying with XP is definitely my preference right now.
Last edited by AmerksMoose on 19 Jan 2014, 09:01, edited 1 time in total.

Re: CasparCG-based MAV/EVS replacement [BETA]

#136
Have you tried to send a command like PLAY 1-1 AMB on the standard Caspar? Your log tells two things. First something about the videomode that is not supported and second it tells, that the GPU is too weak.

I would try to run Win 7 64 as it supports much more memmory.
Didi Kunz
CasparCG Client-Programmer, Template Maker & Live CG-Operator
Media Support, CH-5722 Gränichen, Switzerland http://mediasupport.ch/
Problems? Guide to posting Bug reports & Feature requests

Re: CasparCG-based MAV/EVS replacement [BETA]

#138
AmerksMoose wrote:It's a GT-610. I don't want to use the GPU for any video processing, does that make a difference?
You have no joice, CasparCG uses the GPU for video processing.
didikunz wrote:Have you tried to send a command like PLAY 1-1 AMB on the standard Caspar? Your log tells two things. First something about the videomode that is not supported and second it tells, that the GPU is too weak.
Have you tried the "PLAY 1-1 AMB" command on the standard Caspar? Does it play? As long as the standard CasparCG is not running, it does not make sense to fumble around with a special build...
Didi Kunz
CasparCG Client-Programmer, Template Maker & Live CG-Operator
Media Support, CH-5722 Gränichen, Switzerland http://mediasupport.ch/
Problems? Guide to posting Bug reports & Feature requests

Re: CasparCG-based MAV/EVS replacement [BETA]

#139
So caspar uses the GPU for processing, then sends it off to the Decklink? Not quite sure I understand the hardware flow here.

It's my understanding that the MAV edition has the capability to do buffered playback. Is that feature available in the normal caspar builds? I'm looking to build a system that serves the same function as an EVS using the AMCP protocol and, as of right now, a lua/curses frontend. That much I can do, but in terms understanding the underlying engine & server, I will admit that I'm behind everyone else here. Thanks for your assistance.

Re: CasparCG-based MAV/EVS replacement [BETA]

#144
AmerksMoose wrote: From what you've said, it's my understanding that I may not necessarily need to use the MAV edition to accomplish my goal.
No, what I was saying is, that, to find out, why your system does not run, it would be good to see, if the standard version of Caspar is running. If yes, then your problem is with the MAV-version. If no, your problem is more generic in nature and we need to solve this first.

So, please install the stadard edition from the download page and see if you can play one of the demo files , like the AMB. If that does not work, post the log file between code tags here in the forum.

Do I make myself clear now? I don't want to be rude, but sometimes one needs to do several steps to solve a problem.
Didi Kunz
CasparCG Client-Programmer, Template Maker & Live CG-Operator
Media Support, CH-5722 Gränichen, Switzerland http://mediasupport.ch/
Problems? Guide to posting Bug reports & Feature requests

Re: CasparCG-based MAV/EVS replacement [BETA]

#145
No problem, I understand that this is a volunteer effort and I admire the talent and dedication that it takes to produce a system like this. You guys are under no obligation to do any of this, so any help and guidance is greatly appreciated. Once these initial troubles are resolved I hope that others will find my contributions useful.

Re: CasparCG-based MAV/EVS replacement [BETA]

#146
Switched over to Win7 x64 last night and the default server build works right out of the box. Didi -- you're right, the graphics card is insufficient. Video is a little choppy but playout works in both normal server and MAV editions to the decklink. This has been a good proof of concept so I've found a motherboard that can take a bigger video card and also be expandable to 2 Decklink Duos without having to drop money on a CPU and RAM.

Re: CasparCG-based MAV/EVS replacement [BETA]

#148
Hello everybody

I am trying play with caspar-mav and my config dont work

I try to this it

play 1 decklink 1
add 1 replay demo
play 2 demo

and i receive this message

[2014-01-22 18:36:27.033] [05274840] [error] replay_producer[media\\DEMO.mav|0|1] Unknown exception in the decoding thread!

and the file .idx has 40bytes and the file .mav is 0 bytes

this is my config file

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<paths>
<media-path>media\</media-path>
<log-path>log\</log-path>
<data-path>data\</data-path>
<template-path>templates\</template-path>
<thumbnails-path>thumbnails\</thumbnails-path>
</paths>
<channels>
<channel>
<video-mode>PAL</video-mode>
<channel-layout>stereo</channel-layout>
<consumers>
</consumers>
</channel>
<channel>
<video-mode>PAL</video-mode>
<consumers>
<screen>
<device>1</device>
<windowed>true</windowed>
</screen>
</consumers>
</channel>
</channels>
<controllers>
<tcp>
<port>5250</port>
<protocol>AMCP</protocol>
</tcp>
</controllers>
<osc>
<default-port>6250</default-port>
<predefined-clients>
</predefined-clients>
</osc>
</configuration>

and I have only one blackmagic card extreme 3

thanks for all

Re: CasparCG-based MAV/EVS replacement [BETA]

#149
Just got my hands on 5 pcs of the Kurrer S4 slow-motion controller. I hope to be able to translate the protocol to work with the MAV-edition.

Though I have not been able to get my hands on the Sony 9-pin VTR protocol, anyone here that has a copy of it?

I dont need all of these controllers, so if I get things to work properly I will have at least 2 of these for sale.

Re: CasparCG-based MAV/EVS replacement [BETA]

#162
I want to share my work based on Jan Starzak repository (also from Poland - nice). For now I have just merged his fork against current version of CasparCG and it looks like everything works. I can not promise anything, but if I add something interesting to it, I will of course share it with you. This is my first contact with Visual C++ compiler (I am a Linux user), so my project files may be messed up.

If you have any hints or suggestions I will be happy to read it.

Also if you have any client supporting CasparCG MAV I will be happy to see it, as I am planning to write my own (C++/Qt) if there are no available ready or in-progress solutions.

Big thank you (and welcome as this is my first post) to CasparCG crew and community.

Binary file: https://github.com/krzyc/Server/release ... 4444dd.zip [updated]
GitHub fork: https://github.com/krzyc/Server
Last edited by krzyc on 18 Sep 2014, 22:31, edited 4 times in total.

Re: CasparCG-based MAV/EVS replacement [BETA]

#170
Thank you very much for updated link and for taking forward this slow motion project.
Finally I got the binary file from updated link. All things are working including video, template, record, HTML.

But I found some different thing than original Jstar's release.
1. call 2-1 seek 100 Will seek 200
2. call 2-1 seek +100 will forward 200 frames
3. call 2-1 speed -0.25 not working. I mean reverse speed not working.
4. call 2-1 seek 15 will seek at 30, I mean almost double the value.
5. call 2-1 speed 2.1 not working. I mean speed more than 2 not working.

I hope you will be able to address these issues.

Re: CasparCG-based MAV/EVS replacement [BETA]

#171
Please tell me what exact screen format are you using, because on 576p2500 seeking semms to be fine - maybe this is related to framerate or interlacing - on repeat file with timer SEEK +250 gives me 10 second increment, and SEEK -250 gives me 10 second decrement. Also SEEK 100 gives me 4 seconds, so it works for me.

I can confirm that negative speed and speed of 2 and above is not working, so I will look at it.

Re: CasparCG-based MAV/EVS replacement [BETA]

#173
Yes, in 50i seeking works as in 25p - incorrectly. Comparing to original version from first post - seeking is also incorrect in 50i, but slow motion and 3x play works fine. I will investigate it.

[edited] It looks that author adds fast-motion after last commit to GitHub. :(

[edited] After all I think that doubling number of frames is intended behaviour - because in interlaced mode these are not frames but FIELDS - odd and even. So 50i is actually 25 frames per second (50 fields per second), while 50p is 50 frames per second, and 25p is 25 frames per second - and currently it works just like that - doubling fields in interlaced mode to get full frames. Modifying this is very easy, but after analysing it, I think that this is not a bug.

Re: CasparCG-based MAV/EVS replacement [BETA]

#179
How much delay is there? Is this delay visible on Server's DIAG screen?

Today I was using my latest build while live-streaming plane competition for replays without an issue - of course I was operating on predefined times and on plain frame numbers - but it worked (together with templates, images and movies because I had only one PC with Decklink).

On complicated frames in 720p50 I got lost frames - I think it was about 1 per second, so it was not visible on replays - but I must investigate it - maybe problem was in hardware (i7 quad core, but only one SSD for system, templates and replays), but maybe in something different. Unfortunately, when I tried adding OSC to replay consumer for debugging I did not get any response while using attach_parent pointing to monitor::subject of consumer from output.cpp - strange, because when I inserted OSC directly with call to consumer print function it worked - it was probably a stupid mistake because it was 4 AM - I will try this again because it will simplify debugging and cooperation with client.

Re: CasparCG-based MAV/EVS replacement [BETA]

#180
Hello everyone! My name is Anton, I'm from Moscow. At last I saw an activity in this thread and registered here to share my thought and results with you all.. )
I've been using CasparCG for at least 2 years in our Hip Show project (2-on-2 fighting) not only as a CG server but as a replay server too. For this purpose I created a little modified CasparCG server and client (as investors didn't want to spend money on EVS). You may see it's interface on this picture:
Image

As you may see, my server can record 1 or 4 channels and output the results during the recording. While choosing the moment to replay user may see all 4 recorded streams in the same moment, choose the speed, the best view of 4, save the moment, load it and output it. There are 8 slots to save, load and playback the moments.
All this buttons are binded to the keybord, so I'm using keyboard a lot.
As you may see, I use CasparCG and client on the same machine to see the current recording streams in grid when user clicks on of recording options or to see the output when user clicks Playback....
This is my ideas and results of it's realization. It is hardcoded a lot, but I'll try to create an archive for you to try it in a days...