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

#183
Here is a discussion about using stock CasparCG for this purpose - I think that for now it is not possible. http://casparcg.com/forum/viewtopic.php?t=963
Oh, wait - look here for a temporary solution: http://casparcg.com/forum/viewtopic.php?t=963#p6919

In this thread we choose a way of including additional module called replay, that reads and writes frames compressed by jpeg alghoritm. Here is newest compiled preview release of server: https://github.com/krzyc/CasparCG-Serve ... Beta_MAV_3

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

#184
I've at last recompiled and completed my test server and client for you to try. For now it is only a binaries because sources are too bad to share with you.. )
This is a download page: http://openslomo.ru/en/download
And here is a small instruction: http://openslomo.ru/en/instructions

Now I'm thinking about the next step:
1. I may recompile my client to use the commands of the replay consumer and producer but it will lead to creation of the replay producer in QT too because there is no codecs for it and Phonon can't play this files.
2. We may fork the ffmpeg producer and create a new one with ability to change each frame display time or add a delay for the same purpose.
The second solution seams simpler and it will leave us the ability to watch recorded files in any time right in the windows player. But I haven't discovered ffmpeg producer and I don't sure I can do this.

So, I want to hear your thoughts regarding the ways to move forward...

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

#185
As no one answers my last post, I decided to choose the second way.
So, I've built a new CasparCG server based on the latest CasparCG2.0.7b2.
The only thing I've changed is ffmpeg-producer. Now it can play it's files slow motioned.
You may download it here: http://openslomo.ru/files/OpenSloMo-CasparCG2.0.7b2.zip and try it with PLAY or CALL commands.
As an example, you may call this command to play AMB video with 10% of it's speed:

Code: Select all

PLAY 5 AMB SPEED 0.1
and change SPEED to 50% later by this command:

Code: Select all

CALL 5 SPEED 0.5
SPEED is a float and may vary between 0 (movie is stopped) and 1 (movie is playing with it's original speed).
So, I'm waiting for your tests results.

PS: by the way, who is the person I may ask to merge my additions to the ffmpeg-producer when everything is correct? )

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

#188
@ CEHMYPB
Great effort.
I tested it and compared with respect to original jstar server.
1. We can replay any already recorded clip. No need to record with special command to replay in slow motion.
2. Audio is also there.
3. Negative speed not working.
4. Speed greater than 1 not working.

But I like the idea of "No need to record with special command to replay in slow motion and We can replay any already recorded clip".

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

#190
vlukac wrote:Any possibility to upload source code of client OpenSloMo-0.3b - need change channels in client. I dont have Decklink Quad card, but Decklink 4k Extreme and Decklink Mini monitor.
I think you may try to remove first 3 channels from caspar config file and change Channels variable in OpenSloMo settings to "2" for your purposes. Then it must work fine for your environment.
I'll upload sources a little later when I merge it with my modified CasparCG 2.0.7. Old modified CasparCG server and OpenSloMo 0.3 are unstable and use another commands. That's why I don't like feel comfortable to upload it now. I think, it will be ready in a week, if my modified CasparCG 2.0.7 works fine for everyone in the forum.

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

#193
Not work by me in my Client!


CALL 1-1 SEEK 10 - syntax is OK but nothing happened
CALL 1-1 SEEK |100 - syntax is not OK (error in console)

Code: Select all

[2014-10-17 10:14:10.187] [05620AC8] [info]    Received message from Console: PLAY 1-1 16-14_cam_GRID1.TS\r\n
[2014-10-17 10:14:10.221] [055C5988] [info]    ffmpeg[16-14_cam_GRID1.TS|1280x720i100.00|0/373] [video-decoder] H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
[2014-10-17 10:14:10.225] [055C5988] [debug]   [audio-decoder] MP2 (MPEG audio layer 2) Selected channel layout STEREO
[2014-10-17 10:14:10.225] [055C5988] [info]    ffmpeg[16-14_cam_GRID1.TS|1280x720i100.00|0/373] [audio-decoder] MP2 (MPEG audio layer 2)
[2014-10-17 10:14:10.225] [055C5988] [info]    transition[empty=>ffmpeg[16-14_cam_GRID1.TS|1280x720i100.00|0/373]] Initialized.
[2014-10-17 10:14:10.226] [055C5988] [debug]   Executed command: PlayCommand
[2014-10-17 10:14:10.226] [055C5988] [trace]   Ready for a new command
[2014-10-17 10:14:10.253] [0567FC40] [info]    transition[ffmpeg[16-14_cam_GRID1.TS|1280x720p50.00|374/374]=>ffmpeg[16-14_cam_GRID1.TS|1280x720i100.00|0/373]] End Of File.
[2014-10-17 10:14:10.263] [0567FC40] [info]    
+---------------+
| filter_buffer |default--[1280x720 0:1 yuv420p]--filter_buffersink:default
|   (buffer)    |
+---------------+

                                                      +-------------------+
filter_buffer:default--[1280x720 0:1 yuv420p]--default| filter_buffersink |
                                                      |   (buffersink)    |
                                                      +-------------------+


[2014-10-17 10:14:10.263] [0567FC40] [info]    [frame_muxer] interlace 1280x720p50.00
[2014-10-17 10:14:10.275] [0567FC40] [trace]   transition[ffmpeg[16-14_cam_GRID1.TS|1280x720p50.00|374/374]=>ffmpeg[16-14_cam_GRID1.TS|1280x720p50.00|2/373]] Uninitializing.
[2014-10-17 10:14:10.275] [0567FC40] [info]    transition[ffmpeg[16-14_cam_GRID1.TS|1280x720p50.00|374/374]=>ffmpeg[16-14_cam_GRID1.TS|1280x720p50.00|2/373]] Uninitialized.
[2014-10-17 10:14:10.276] [05471528] [trace]   ffmpeg[16-14_cam_GRID1.TS|1280x720p50.00|374/374] Destroying on asynchronous destruction thread.
[2014-10-17 10:14:15.298] [05620AC8] [info]    Received message from Console: CALL 1-1 SEEK 10\r\n
[2014-10-17 10:14:15.299] [055C5988] [debug]   Executed command: CallCommand
[2014-10-17 10:14:15.299] [055C5988] [trace]   Ready for a new command
[2014-10-17 10:14:15.300] [055C5C28] [debug]   ffmpeg_input[F:\OpenSloMo-CasparCG2.0.7b2\media\\16-14_cam_GRID1.TS)] Seeking: 10
Last edited by vlukac on 17 Oct 2014, 10:11, edited 1 time in total.

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

#195
CEHMYPB wrote:
vlukac wrote:Not work by me in my Client!
Upload your casparcg.config file, please.

Code: Select all

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<configuration>
  <paths>
    <media-path>F:\OpenSloMo-CasparCG2.0.7b2\media\</media-path>
    <log-path>log\</log-path>
    <data-path>data\</data-path>
    <template-path>templates\</template-path>
    <thumbnails-path>thumbnails\</thumbnails-path>
  </paths>
  <log-level>trace</log-level>
  <channel-grid>true</channel-grid>
  <mixer>
    <blend-modes>true</blend-modes>
    <straight-alpha>true</straight-alpha>
    <chroma-key>true</chroma-key>
  </mixer>
  <flash>
    <buffer-depth>10</buffer-depth>
  </flash>
  <thumbnails>
    <video-mode>720p5000</video-mode>
  </thumbnails>
  <channels>
    <channel>
      <video-mode>1080i5000</video-mode>
      <consumers>
        <decklink>
          <device>1</device>
          <embedded-audio>true</embedded-audio>
        </decklink>
      </consumers>
    </channel>
    <channel>
      <video-mode>1080i5000</video-mode>
      <consumers>
        <screen>
          <device>2</device>
        </screen>
      </consumers>
    </channel>
  </channels>
  <controllers>
    <tcp>
      <port>5250</port>
      <protocol>AMCP</protocol>
    </tcp>
  </controllers>
</configuration>
(code tags added by didikunz) - thanks didi :>)

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

#196
I found error in log file:

Code: Select all

[2014-10-17 11:23:22.684] [0563EE48] [error]   d:\casparcg_dev\server-2.0.7b2-edited\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

[2014-10-17 11:23:22.684] [0563EE48] [warning] Failed to execute command: CallCommand

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

#197
vlukac wrote:
CEHMYPB wrote:
vlukac wrote:Not work by me in my Client!
Upload your casparcg.config file, please.
I still can't reproduce the problem even with your config. I saw it once during changing the config file but I hadn't saved it.
Let's move step-by-step.
1. Download and unpsack server again.
2. Copy your casparcg.config from above there.
3. Run CasparCG, give it a time to create thumbs and type this command to console:

Code: Select all

play 2-1 16-14_CAM_GRID3.TS seek 150
The movie must start from the clear view of punches. Is it so?

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

#198
New error: CALL 2-1 SEEK +25

Code: Select all

2014-10-17 11:43:04.692] [05B4DE60] [info]    Received message from 127.0.0.1: CALL 2-1 SEEK +25\r\n
[2014-10-17 11:43:04.692] [05BC5DD8] [error]   producer\ffmpeg_producer.cpp(457): Throw in function class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > __thiscall caspar::ffmpeg::ffmpeg_producer::do_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::invalid_argument>
std::exception::what: Unknown exception

[2014-10-17 11:43:04.693] [05BC5DD8] [warning] Failed to execute command: CallCommand

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

#200
First i will jump to the end point of video buffer and the goto 5-10 sec back to soccer events.

Another Caspar MAV server version (JStar, krzyc, ...) have this commands inside server:

CALL 1-1 SEEK +25 (+25 frames forward in video buffer)
CALL 1-1 SEEK -25 (-25 frames back in video buffer)
CALL 1-1 SEEK | 100 (100 frames before end of video buffer)

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

#201
vlukac wrote:First i will jump to the end point of video buffer and the goto 5-10 sec back to soccer events.

Another Caspar MAV server version (JStar, krzyc, ...) have this commands inside server:
Yes, I know that. By I don't use their producer and consumer. I just modified default CasparCG ffmpeg module to work with SPEED parameter in PLAY and SEEK commands. So, it doesn't support "+/-/|" symbols for now. Maybe I'll add it and speed > 1 later.
But for now I just want to be sure it's working with a speed values between 0 and 1 for everyone.

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

#203
libx264 uses most of the cpu capabilities, so it must work nice for you. "-s 1920x1080" is good for you too. "-g 1" means recording each frame as i-frame, it will lead to a larger file size but you may seek any frame.
But I have just noticed this two strings in my logs: "Invalid option: -crf 20" and "Invalid option: -preset ultrafast". It seems this commands still aren't supported by caspar's ffmpeg. So, put the bitrate instead of crf.

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

#204
Hello! I have another problem with speed when i play two layers of video. The background layer is video 1-1 (soccer slowmotion) and have 50% of speed. Then, when i play foreground layer 1-2 of video with 100% of speed (video transition) together with background layer 1-1 with speed 50%, the background layer 1-1 automatic changes speed to 100%? Is this bug?

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

#206
vlukac wrote:Hello! I have another problem with speed when i play two layers of video. The background layer is video 1-1 (soccer slowmotion) and have 50% of speed. Then, when i play foreground layer 1-2 of video with 100% of speed (video transition) together with background layer 1-1 with speed 50%, the background layer 1-1 automatic changes speed to 100%? Is this bug?
This was not a bug but an unneccesarry feature.. )
You may try this build: http://openslomo.ru/files/OpenSloMo-CasparCG2.0.7b3.zip
I have fixed this behavior there.
Let me know if everything is fine.

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

#207
Hi cehmypb,
i played a little bit whith OpenSloMo b3 (file is mpeg2 1080i50 iframes only wrapped in mov container) and there are a few issues:

- seeking is not possible with speed = 0
- seeking takes about 10 frames from sending command til executing
- interlaced material is not smooth, it's jumping between frames if speed < 1

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

#208
Hello, Carthago.
Carthago wrote: - seeking is not possible with speed = 0
I'll check this out. For now you may try to use pause and seek commands.
Carthago wrote: - seeking takes about 10 frames from sending command til executing
I didn't modified SEEK command at all. It is the same as in the original CasparCG. But I may try to see if you give me the sample and example of used command.
Carthago wrote: - interlaced material is not smooth, it's jumping between frames if speed < 1
Upload some small non-smooth video, I'll check it.

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

#209
Hi CHEMYPB,
CEHMYPB wrote:Hello, Carthago.
Carthago wrote: - seeking is not possible with speed = 0
I'll check this out. For now you may try to use pause and seek commands.
I tried pause and seek and it's also not working.
I checked also 2.0.6 stable release and there it's the same.
You can pause the file, seek to some point but seeking will be executed after the next play command (with a small delay)
CEHMYPB wrote:
Carthago wrote: - seeking takes about 10 frames from sending command til executing
I didn't modified SEEK command at all. It is the same as in the original CasparCG. But I may try to see if you give me the sample and example of used command.
Today i tried the 2.0.6 stable and there is also a delay when seeking.
CEHMYPB wrote:
Carthago wrote: - interlaced material is not smooth, it's jumping between frames if speed < 1
Upload some small non-smooth video, I'll check it.
I played a little bit with ffmpeg commands and enabling yadif filter with the play command seems to be the solution.... (FILTER YADIF=0:0)
Maybe auto deinterlace is not working properly.

It would be nice if seeking works while the file is paused.
My workflow:
- play file (PLAY 1-1 test_mpeg2 FILTER YADIF=0:0)
- pause file (PAUSE 1-1 or CALL 1-1 SPEED 0)
- seek frame by frame to startpoint (CALL 1-1 SEEK frame-1 or CALL 1-1 SEEK -1)
- play file (PLAY 1-1 or CALL 1-1 SPEED 1)

A small mpeg2 file:
https://www.dropbox.com/s/k88uxiqz41800 ... 2.mov?dl=0

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

#210
Hi,
Is in OpenSloMo not optimalised version of ffmpeg? in normal 2.0.7 i can rec 4 channels in HD1080@50i into mpg2 (mov container) but in OpenSloMo i cant reckord 2 channels without frame drops.

Even when used config from 2.0.7 with OSM 2.0.7 i get 20% cpu util without reckording (normal uses 5%)
Is any way to improve this?

Thanks
Lukas

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

#211
LukasG wrote:Hi, Is in OpenSloMo not optimalised version of ffmpeg? in normal 2.0.7 i can rec 4 channels in HD1080@50i into mpg2 (mov container) but in OpenSloMo i cant reckord 2 channels without frame drops.
OSM CasparCG uses the same ffmpeg as original CasparCG from github does. And moreover it uses just the same ffmpeg-consumer. So, I'm not sure why it affects on your recording. Maybe I took too raw CasparCG version? I may try to download and merge my changes to 2.0.6 version for testing if it works good for you.
LukasG wrote:Even when used config from 2.0.7 with OSM 2.0.7 i get 20% cpu util without reckording (normal uses 5%)
I'll test it on my server for to be sure.

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

#212
CEHMYPB wrote:
vlukac wrote:Hello! I have another problem with speed when i play two layers of video. The background layer is video 1-1 (soccer slowmotion) and have 50% of speed. Then, when i play foreground layer 1-2 of video with 100% of speed (video transition) together with background layer 1-1 with speed 50%, the background layer 1-1 automatic changes speed to 100%? Is this bug?
This was not a bug but an unneccesarry feature.. )
You may try this build: http://openslomo.ru/files/OpenSloMo-CasparCG2.0.7b3.zip
I have fixed this behavior there.
Let me know if everything is fine.
Now everything work amazing.

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

#213
Yesterday I uploaded a new version of modified CasparCG (it shows streams in a square grid instead of linear one now) and OpenSloMo 0.4b client for this server. Moreover it has updates to work better with interlaced video (thanks to Carthago's post above), to choose a recording video resolution and to show the active stream of 4. More details are in the news post: http://openslomo.ru/en/news/openslomo04 ... xed-server. Binaries are available in the Downloads page as usual: http://openslomo.ru/en/download.

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

#214
Just to confirm before I buy a Decklink card, this will continue to record even while playing out a replay?

I see you are ingesting 4 streams and outputting 1. What decklink card configuration are you using?

Please consider open sourcing the code, would love to contribute and look at adding x keys integration.

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

#215
Mikie wrote:Just to confirm before I buy a Decklink card, this will continue to record even while playing out a replay?
Yes. You may try it by yourself even without a decklink card. Just choose "record 4 streams", click Record, than play any your files in the first 4 channels in Caspar's console (play 1-1 file1 loop, play 1-2 file2 loop etc..) and switch to Playback in the OpenSloMo client. If everything is fine, you'll see you recording streams in the library.
Mikie wrote:I see you are ingesting 4 streams and outputting 1. What decklink card configuration are you using?
I use decklink quad and decklink SDI in my usual environment.
Mikie wrote:Please consider open sourcing the code, would love to contribute and look at adding x keys integration.
I'll open it little later. Just want to clean it up firstly.

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

#216
I've downloaded the latest version of OpenSloMo and have tried to test it on our existing CasparCG server we use for our events. The directions you've provided are fairly simple and I'm pretty sure I'm doing everything right, but I can't get any of the sample media to show up in the right hand panel for playback. I can see that the server created the thumbnails for the videos and I've tested recording which creates a file so I'm sure it's working. Do you have any suggestions? I'd really like to get this working.

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

#217
jrobinettwa wrote:I've downloaded the latest version of OpenSloMo and have tried to test it on our existing CasparCG server we use for our events. The directions you've provided are fairly simple and I'm pretty sure I'm doing everything right, but I can't get any of the sample media to show up in the right hand panel for playback. I can see that the server created the thumbnails for the videos and I've tested recording which creates a file so I'm sure it's working. Do you have any suggestions? I'd really like to get this working.
Upload your caspar config, and printsreens of OpenSloMo settings and main window somewhere, please.

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

#218
Thank you for offering to point me in the right direction.

Here is my caspar config. The only change was to provide the correct path to the media folder.

Code: Select all

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<configuration>
  <paths>
    <media-path>C:\media\</media-path>
    <log-path>log\</log-path>
    <data-path>data\</data-path>
    <template-path>templates\</template-path>
  </paths>
  <log-level>trace</log-level>
  <channel-grid>false</channel-grid>
  <blend-modes>true</blend-modes>
  <auto-deinterlace>true</auto-deinterlace>
  <auto-transcode>true</auto-transcode>
  <pipeline-tokens>2</pipeline-tokens>
  <flash>
    <buffer-depth>auto</buffer-depth>
  </flash>
  <channels>
    <channel>
      <video-mode>720p5000</video-mode>
      <consumers>
      </consumers>
      <index>1</index>
    </channel>
    <channel>
      <video-mode>720p5000</video-mode>
      <consumers>
      </consumers>
      <index>2</index>
    </channel>
    <channel>
      <video-mode>720p5000</video-mode>
      <consumers>
      </consumers>
      <index>3</index>
    </channel>
    <channel>
      <video-mode>720p5000</video-mode>
      <consumers>
      </consumers>
      <index>4</index>
    </channel>
    <channel>
      <video-mode>720p5000</video-mode>
      <consumers>
        <screen>
          <device>2</device>
          <windowed>true</windowed>
        </screen>
        <system-audio>true</system-audio>
      </consumers>
      <index>5</index>
    </channel>
  </channels>
  <controllers>
    <tcp>
      <port>5250</port>
      <protocol>AMCP</protocol>
    </tcp>
  </controllers>
</configuration>
<!--This file was generated with CasparCG Configurator v2.0
!!!DOCUMENTATION!!!


<log-level>       trace [trace|debug|info|warning|error]</log-level>
<channel-grid>    false [true|false]</channel-grid>
<blend-modes>     false [true|false]</blend-modes>
<auto-deinterlace>true  [true|false]</auto-deinterlace>
<auto-transcode>  true  [true|false]</auto-transcode>
<pipeline-tokens> 2     [1..]       </pipeline-tokens>
<template-hosts>
    <template-host>
        <video-mode/>
        <filename/>
        <width/>
        <height/>
    </template-host>
</template-hosts>
<flash>
    <buffer-depth>auto [auto|1..]</buffer-depth>
</flash>
<channels>
    <channel>
        <video-mode> PAL [PAL|NTSC|1080i5000|576p2500|720p2500|720p5000|720p5994|720p6000|1080i5000|1080i5994|1080i6000|1080p2500|1080p2997|1080p3000|1080p5000] </video-mode>
        <consumers>
            <decklink>
                <device>[1..]</device>
                <embedded-audio>false [true|false]</embedded-audio>
                <latency>normal [normal|low|default]</latency>
                <keyer>external [external|internal|default]</keyer>
                <key-only>false [true|false]</key-only>
                <buffer-depth>3 [1..]</buffer-depth>
            </decklink>
            <bluefish>
                <device>[1..]</device>
                <embedded-audio>false [true|false]</embedded-audio>
                <key-only>false [true|false]</key-only>
            </bluefish>
            <system-audio></system-audio>
            <screen>
                <device>[0..]</device>
                <aspect-ratio>default [default|4:3|16:9]</aspect-ratio>
                <stretch>fill [none|fill|uniform|uniform_to_fill]</stretch>
                <windowed>false [true|false]</windowed>
                <key-only>false [true|false]</key-only>
                <auto-deinterlace>true [true|false]</auto-deinterlace>
                <vsync>fasle [true|false]</vsync>
            </screen>
        </consumers>
    </channel>
</channels>-->
Upon starting the caspar server, it creates the thumbnails sees my decklink card, etc.

Code: Select all

[2014-11-20 17:51:46.220] [002109C0] [info]    ############################################################################
[2014-11-20 17:51:46.221] [002109C0] [info]    CasparCG Server is distributed by the Swedish Broadcasting Corporation (SVT)
[2014-11-20 17:51:46.222] [002109C0] [info]    under the GNU General Public License GPLv3 or higher.
[2014-11-20 17:51:46.222] [002109C0] [info]    Please see LICENSE.TXT for details.
[2014-11-20 17:51:46.222] [002109C0] [info]    http://www.casparcg.com/
[2014-11-20 17:51:46.222] [002109C0] [info]    ############################################################################
[2014-11-20 17:51:46.222] [002109C0] [info]    Starting CasparCG Video and Graphics Playout Server 2.0.7. Beta2
[2014-11-20 17:51:46.222] [002109C0] [info]    on Windows 7 Professional N Service Pack 1
[2014-11-20 17:51:46.222] [002109C0] [info]    Intel(R) Core(TM) i5-4670 CPU @ 3.40GHz Physical Threads: 4
[2014-11-20 17:51:46.222] [002109C0] [info]    To Be Filled By O.E.M.
[2014-11-20 17:51:46.235] [002109C0] [info]    Decklink 10.2
[2014-11-20 17:51:46.236] [002109C0] [info]     - DeckLink 4K Extreme [1]
[2014-11-20 17:51:46.317] [002109C0] [info]    Bluefish Not found
[2014-11-20 17:51:46.334] [002109C0] [info]    FreeImage 3.15.4
[2014-11-20 17:51:46.339] [002109C0] [info]    FFMPEG-avcodec 55.52.102
[2014-11-20 17:51:46.347] [002109C0] [info]    FFMPEG-avformat 55.33.100
[2014-11-20 17:51:46.355] [002109C0] [info]    FFMPEG-avfilter 4.2.100
[2014-11-20 17:51:46.355] [002109C0] [info]    FFMPEG-avutil 52.66.100
[2014-11-20 17:51:46.355] [002109C0] [info]    FFMPEG-swscale 2.5.102
[2014-11-20 17:51:46.381] [002109C0] [info]    Flash 11.8.800.94
[2014-11-20 17:51:46.430] [002109C0] [info]    Template-Host Unknown
[2014-11-20 17:51:46.445] [002109C0] [info]    NewTek iVGA unavailable (Processing.AirSend.x86.dll)
[2014-11-20 17:51:46.445] [002109C0] [info]    casparcg.config:
-----------------------------------------
<?xml version="1.0" encoding="utf-8"?>
<configuration>
   <paths>
      <media-path>C:\media\</media-path>
      <log-path>log\</log-path>
      <data-path>data\</data-path>
      <template-path>templates\</template-path>
   </paths>
   <log-level>trace</log-level>
   <channel-grid>false</channel-grid>
   <blend-modes>true</blend-modes>
   <auto-deinterlace>true</auto-deinterlace>
   <auto-transcode>true</auto-transcode>
   <pipeline-tokens>2</pipeline-tokens>
   <flash>
      <buffer-depth>auto</buffer-depth>
   </flash>
   <channels>
      <channel>
         <video-mode>720p5000</video-mode>
         <consumers/>
         <index>1</index>
      </channel>
      <channel>
         <video-mode>720p5000</video-mode>
         <consumers/>
         <index>2</index>
      </channel>
      <channel>
         <video-mode>720p5000</video-mode>
         <consumers/>
         <index>3</index>
      </channel>
      <channel>
         <video-mode>720p5000</video-mode>
         <consumers/>
         <index>4</index>
      </channel>
      <channel>
         <video-mode>720p5000</video-mode>
         <consumers>
            <screen>
               <device>2</device>
               <windowed>true</windowed>
            </screen>
            <system-audio>true</system-audio>
         </consumers>
         <index>5</index>
      </channel>
   </channels>
   <controllers>
      <tcp>
         <port>5250</port>
         <protocol>AMCP</protocol>
      </tcp>
   </controllers>
</configuration>
-----------------------------------------
[2014-11-20 17:51:46.446] [002109C0] [info]    Initialized html module.
[2014-11-20 17:51:46.468] [002109C0] [info]    Initializing OpenGL Device.
[2014-11-20 17:51:46.492] [001D5B30] [info]    OpenGL 4.4.0 NVIDIA Corporation
[2014-11-20 17:51:46.492] [001D5B30] [info]    Successfully initialized OpenGL Device.
[2014-11-20 17:51:46.908] [002109C0] [info]    Initialized ffmpeg module.
[2014-11-20 17:51:46.908] [002109C0] [info]    Initialized bluefish module.
[2014-11-20 17:51:46.909] [002109C0] [info]    Initialized decklink module.
[2014-11-20 17:51:46.909] [002109C0] [info]    Initialized oal module.
[2014-11-20 17:51:46.917] [002109C0] [info]    Initialized newtek module.
[2014-11-20 17:51:46.917] [002109C0] [info]    Initialized ogl module.
[2014-11-20 17:51:46.918] [002109C0] [info]    Initialized flash module.
[2014-11-20 17:51:46.918] [002109C0] [info]    Initialized image module.
[2014-11-20 17:51:47.009] [001D5B30] [info]    [shader] Blend-modes are disabled.
[2014-11-20 17:51:47.035] [002109C0] [info]    video_channel[1|720p5000] Successfully Initialized.
[2014-11-20 17:51:47.035] [001D5B30] [trace]   [device_buffer] [1] allocated size:3686400
[2014-11-20 17:51:47.037] [001D5B30] [trace]   [host_buffer] [1] allocated size:3686400 usage: read_only
[2014-11-20 17:51:47.039] [002109C0] [info]    video_channel[2|720p5000] Successfully Initialized.
[2014-11-20 17:51:47.039] [001D5B30] [trace]   [device_buffer] [2] allocated size:3686400
[2014-11-20 17:51:47.040] [001D5B30] [trace]   [host_buffer] [2] allocated size:3686400 usage: read_only
[2014-11-20 17:51:47.043] [001D5B30] [trace]   [device_buffer] [3] allocated size:3686400
[2014-11-20 17:51:47.043] [002109C0] [info]    video_channel[3|720p5000] Successfully Initialized.
[2014-11-20 17:51:47.043] [001D5B30] [trace]   [host_buffer] [3] allocated size:3686400 usage: read_only
[2014-11-20 17:51:47.044] [001D5B30] [trace]   [host_buffer] [4] allocated size:3686400 usage: read_only
[2014-11-20 17:51:47.045] [001D5B30] [trace]   [host_buffer] [5] allocated size:3686400 usage: read_only
[2014-11-20 17:51:47.045] [001D5B30] [trace]   [device_buffer] [4] allocated size:3686400
[2014-11-20 17:51:47.046] [001D5B30] [trace]   [host_buffer] [6] allocated size:3686400 usage: read_only
[2014-11-20 17:51:47.047] [001D5B30] [trace]   [host_buffer] [7] allocated size:3686400 usage: read_only
[2014-11-20 17:51:47.047] [001D5B30] [trace]   [host_buffer] [8] allocated size:3686400 usage: read_only
[2014-11-20 17:51:47.048] [001D5B30] [trace]   [host_buffer] [9] allocated size:3686400 usage: read_only
[2014-11-20 17:51:47.052] [002109C0] [info]    video_channel[4|720p5000] Successfully Initialized.
[2014-11-20 17:51:47.052] [001D5B30] [trace]   [host_buffer] [10] allocated size:3686400 usage: read_only
[2014-11-20 17:51:47.055] [001D5B30] [trace]   [device_buffer] [5] allocated size:3686400
[2014-11-20 17:51:47.055] [002109C0] [info]    video_channel[5|720p5000] Successfully Initialized.
[2014-11-20 17:51:47.055] [001D5B30] [trace]   [host_buffer] [11] allocated size:3686400 usage: read_only
[2014-11-20 17:51:47.066] [001D5B30] [trace]   [device_buffer] [6] allocated size:3686400
[2014-11-20 17:51:47.103] [002109C0] [info]    
+---------------+
| filter_buffer |default--[1280x720 1:1 bgra]--filter_buffersink:default
|   (buffer)    |
+---------------+

                                                   +-------------------+
filter_buffer:default--[1280x720 1:1 bgra]--default| filter_buffersink |
                                                   |   (buffersink)    |
                                                   +-------------------+


[2014-11-20 17:51:47.104] [002109C0] [warning] Screen consumer [5|720p5000] Could not find display settings for screen-index: 1
[2014-11-20 17:51:47.104] [002109C0] [info]    Screen consumer [5|720p5000] Successfully Initialized.
[2014-11-20 17:51:47.104] [057A9EB0] [info]    output[5] Screen consumer [5|720p5000] Added.
[2014-11-20 17:51:47.157] [001D5B30] [trace]   [host_buffer] [12] allocated size:3686400 usage: read_only
[2014-11-20 17:51:47.162] [001D5B30] [trace]   [host_buffer] [13] allocated size:3686400 usage: read_only
[2014-11-20 17:51:47.184] [001D5B30] [trace]   [host_buffer] [14] allocated size:3686400 usage: read_only
[2014-11-20 17:51:47.188] [002109C0] [info]    oal[5|720p5000] Sucessfully Initialized.
[2014-11-20 17:51:47.188] [057A9EB0] [info]    output[5] oal[5|720p5000] Added.
[2014-11-20 17:51:47.188] [002109C0] [info]    Initialized channels.
[2014-11-20 17:51:47.218] [002109C0] [info]    Initialized thumbnail generator.
[2014-11-20 17:51:47.220] [002109C0] [info]    WinSock2 Initialized.
[2014-11-20 17:51:47.221] [002109C0] [info]    Listener successfully initialized
[2014-11-20 17:51:47.221] [002109C0] [info]    Initialized controllers.
[2014-11-20 17:51:47.221] [002109C0] [info]    Initialized osc.
[2014-11-20 17:51:47.221] [002109C0] [info]    Started initial media information retrieval.
[2014-11-20 17:51:47.265] [001D5B30] [trace]   [host_buffer] [15] allocated size:3686400 usage: read_only
[2014-11-20 17:51:47.290] [057A9EE0] [info]    Screen consumer [5|720p5000] Successfully Initialized.
[2014-11-20 17:51:47.381] [001D5B30] [trace]   [host_buffer] [16] allocated size:3686400 usage: read_only
[2014-11-20 17:51:47.382] [001D5B30] [trace]   [host_buffer] [17] allocated size:3686400 usage: read_only
[2014-11-20 17:51:47.385] [001D5B30] [trace]   [host_buffer] [18] allocated size:3686400 usage: read_only
[2014-11-20 17:51:47.390] [001D5B30] [trace]   [host_buffer] [19] allocated size:3686400 usage: read_only
[2014-11-20 17:51:47.768] [057AA150] [info]    
+---------------+
| filter_buffer |default--[1280x720 0:1 yuv420p]--filter_buffersink:default
|   (buffer)    |
+---------------+

                                                      +-------------------+
filter_buffer:default--[1280x720 0:1 yuv420p]--default| filter_buffersink |
                                                      |   (buffersink)    |
                                                      +-------------------+


[2014-11-20 17:51:47.771] [001D5B30] [trace]   [host_buffer] [20] allocated size:921600 usage: write_only
[2014-11-20 17:51:47.791] [001D5B30] [trace]   [host_buffer] [21] allocated size:230400 usage: write_only
[2014-11-20 17:51:47.797] [001D5B30] [trace]   [host_buffer] [22] allocated size:230400 usage: write_only
[2014-11-20 17:51:47.802] [001D5B30] [trace]   [device_buffer] [7] allocated size:921600
[2014-11-20 17:51:47.803] [001D5B30] [trace]   [device_buffer] [8] allocated size:230400
[2014-11-20 17:51:47.803] [001D5B30] [trace]   [device_buffer] [9] allocated size:230400
[2014-11-20 17:51:47.842] [001D5B30] [trace]   [host_buffer] [23] allocated size:921600 usage: write_only
[2014-11-20 17:51:47.843] [001D5B30] [trace]   [device_buffer] [10] allocated size:921600
[2014-11-20 17:51:47.843] [001D5B30] [trace]   [device_buffer] [11] allocated size:230400
[2014-11-20 17:51:47.843] [001D5B30] [trace]   [device_buffer] [12] allocated size:230400
[2014-11-20 17:51:47.858] [001D5B30] [trace]   [host_buffer] [24] allocated size:230400 usage: write_only
[2014-11-20 17:51:47.864] [001D5B30] [trace]   [host_buffer] [25] allocated size:230400 usage: write_only
[2014-11-20 17:51:47.865] [001D5B30] [trace]   [device_buffer] [13] allocated size:921600
[2014-11-20 17:51:47.867] [001D5B30] [trace]   [device_buffer] [14] allocated size:230400
[2014-11-20 17:51:47.867] [001D5B30] [trace]   [device_buffer] [15] allocated size:230400
[2014-11-20 17:51:47.868] [057AA150] [trace]   ffmpeg[123.TS|1280x720p50.00|2/611] 2 received, wanted 1
[2014-11-20 17:51:47.990] [057AA2A0] [info]    Initial media information retrieval finished.
[2014-11-20 17:51:48.194] [001D5B30] [trace]   [device_buffer] [16] allocated size:921600
[2014-11-20 17:51:48.195] [001D5B30] [trace]   [device_buffer] [17] allocated size:230400
[2014-11-20 17:51:48.195] [001D5B30] [trace]   [device_buffer] [18] allocated size:230400
[2014-11-20 17:51:48.239] [057AA150] [trace]   Truncating: 1 video-frames, 3840 audio-samples.
[2014-11-20 17:51:48.308] [001D5B30] [trace]   [host_buffer] [26] allocated size:921600 usage: write_only
[2014-11-20 17:51:48.317] [001D5B30] [trace]   [host_buffer] [27] allocated size:230400 usage: write_only
[2014-11-20 17:51:48.347] [001D5B30] [trace]   [device_buffer] [19] allocated size:921600
[2014-11-20 17:51:48.347] [001D5B30] [trace]   [device_buffer] [20] allocated size:230400
[2014-11-20 17:51:48.347] [001D5B30] [trace]   [device_buffer] [21] allocated size:230400
[2014-11-20 17:51:48.547] [001D5B30] [trace]   [device_buffer] [22] allocated size:921600
[2014-11-20 17:51:48.548] [001D5B30] [trace]   [device_buffer] [23] allocated size:230400
[2014-11-20 17:51:48.548] [001D5B30] [trace]   [device_buffer] [24] allocated size:230400
[2014-11-20 17:51:48.804] [001D5B30] [trace]   [device_buffer] [25] allocated size:921600
[2014-11-20 17:51:48.804] [001D5B30] [trace]   [device_buffer] [26] allocated size:230400
[2014-11-20 17:51:48.805] [001D5B30] [trace]   [device_buffer] [27] allocated size:230400
[2014-11-20 17:51:48.848] [057AA150] [trace]   Truncating: 1 video-frames, 3840 audio-samples.
[2014-11-20 17:51:48.882] [001D5B30] [trace]   [host_buffer] [28] allocated size:230400 usage: write_only
[2014-11-20 17:51:48.922] [058D0FF0] [trace]   ffmpeg_input[C:\media\123.TS)] Received EOF. 
[2014-11-20 17:51:48.922] [058D0FF0] [trace]   ffmpeg_input[C:\media\123.TS)] Received EOF. 
[2014-11-20 17:51:48.964] [001D5B30] [trace]   [device_buffer] [28] allocated size:3686400
[2014-11-20 17:51:49.577] [001D5B30] [trace]   [host_buffer] [29] allocated size:3686400 usage: read_only
[2014-11-20 17:51:49.582] [001D5B30] [trace]   [host_buffer] [30] allocated size:3686400 usage: read_only
[2014-11-20 17:51:51.022] [057AA150] [debug]   Generated thumbnail for 123
[2014-11-20 17:51:51.075] [057AA150] [info]    
+---------------+
| filter_buffer |default--[1280x720 0:1 yuv420p]--filter_buffersink:default
|   (buffer)    |
+---------------+

                                                      +-------------------+
filter_buffer:default--[1280x720 0:1 yuv420p]--default| filter_buffersink |
                                                      |   (buffersink)    |
                                                      +-------------------+


[2014-11-20 17:51:51.110] [001D5B30] [trace]   [host_buffer] [31] allocated size:921600 usage: write_only
[2014-11-20 17:51:51.111] [057AA150] [trace]   ffmpeg[13-28_CAM.TS|1280x720p50.00|2/256] 2 received, wanted 1
[2014-11-20 17:51:51.325] [057AA150] [trace]   Truncating: 1 video-frames, 3840 audio-samples.
[2014-11-20 17:51:51.548] [058D0FF0] [trace]   ffmpeg_input[C:\media\13-28_CAM.TS)] Received EOF. 
[2014-11-20 17:51:51.548] [058D0FF0] [trace]   ffmpeg_input[C:\media\13-28_CAM.TS)] Received EOF. 
[2014-11-20 17:51:53.587] [057AA150] [debug]   Generated thumbnail for 13-28_CAM
[2014-11-20 17:51:53.720] [057AA150] [info]    
+---------------+
| filter_buffer |default--[1280x720 0:1 yuv420p]--filter_buffersink:default
|   (buffer)    |
+---------------+

                                                      +-------------------+
filter_buffer:default--[1280x720 0:1 yuv420p]--default| filter_buffersink |
                                                      |   (buffersink)    |
                                                      +-------------------+


[2014-11-20 17:51:53.747] [001D5B30] [trace]   [host_buffer] [32] allocated size:230400 usage: write_only
[2014-11-20 17:51:53.748] [057AA150] [trace]   ffmpeg[16-14_CAM_GRID1.TS|1280x720p50.00|2/373] 2 received, wanted 1
[2014-11-20 17:51:53.913] [057AA150] [trace]   Truncating: 1 video-frames, 3840 audio-samples.
[2014-11-20 17:51:54.562] [057AA150] [trace]   Truncating: 1 video-frames, 3840 audio-samples.
[2014-11-20 17:51:54.570] [058D0FF0] [trace]   ffmpeg_input[C:\media\16-14_CAM_GRID1.TS)] Received EOF. 
[2014-11-20 17:51:54.570] [058D0FF0] [trace]   ffmpeg_input[C:\media\16-14_CAM_GRID1.TS)] Received EOF. 
[2014-11-20 17:51:56.670] [057AA150] [debug]   Generated thumbnail for 16-14_CAM_GRID1
[2014-11-20 17:51:56.777] [057AA150] [info]    
+---------------+
| filter_buffer |default--[1280x720 0:1 yuv420p]--filter_buffersink:default
|   (buffer)    |
+---------------+

                                                      +-------------------+
filter_buffer:default--[1280x720 0:1 yuv420p]--default| filter_buffersink |
                                                      |   (buffersink)    |
                                                      +-------------------+


[2014-11-20 17:51:56.812] [001D5B30] [trace]   [host_buffer] [33] allocated size:230400 usage: write_only
[2014-11-20 17:51:56.813] [057AA150] [trace]   ffmpeg[16-14_CAM_GRID2.TS|1280x720p50.00|2/386] 2 received, wanted 1
[2014-11-20 17:51:57.075] [057AA150] [trace]   Truncating: 1 video-frames, 3840 audio-samples.
[2014-11-20 17:51:57.330] [057AA150] [trace]   Truncating: 1 video-frames, 3840 audio-samples.
[2014-11-20 17:51:59.688] [057AA150] [debug]   Generated thumbnail for 16-14_CAM_GRID2
[2014-11-20 17:51:59.786] [057AA150] [info]    
+---------------+
| filter_buffer |default--[1280x720 0:1 yuv420p]--filter_buffersink:default
|   (buffer)    |
+---------------+

                                                      +-------------------+
filter_buffer:default--[1280x720 0:1 yuv420p]--default| filter_buffersink |
                                                      |   (buffersink)    |
                                                      +-------------------+


[2014-11-20 17:51:59.804] [057AA150] [trace]   ffmpeg[16-14_CAM_GRID3.TS|1280x720p50.00|2/432] 2 received, wanted 1
[2014-11-20 17:52:00.403] [058D1050] [trace]   ffmpeg_input[C:\media\16-14_CAM_GRID3.TS)] Received EOF. 
[2014-11-20 17:52:02.603] [057AA150] [debug]   Generated thumbnail for 16-14_CAM_GRID3
[2014-11-20 17:52:02.693] [057AA150] [info]    
+---------------+
| filter_buffer |default--[1280x720 0:1 yuv420p]--filter_buffersink:default
|   (buffer)    |
+---------------+

                                                      +-------------------+
filter_buffer:default--[1280x720 0:1 yuv420p]--default| filter_buffersink |
                                                      |   (buffersink)    |
                                                      +-------------------+


[2014-11-20 17:52:02.707] [057AA150] [trace]   ffmpeg[16-14_CAM_GRID4.TS|1280x720p50.00|2/611] 2 received, wanted 1
[2014-11-20 17:52:02.930] [057AA150] [trace]   Truncating: 1 video-frames, 3840 audio-samples.
[2014-11-20 17:52:03.455] [057AA150] [trace]   Truncating: 1 video-frames, 3840 audio-samples.
[2014-11-20 17:52:03.503] [058D1050] [trace]   ffmpeg_input[C:\media\16-14_CAM_GRID4.TS)] Received EOF. 
[2014-11-20 17:52:03.503] [058D1050] [trace]   ffmpeg_input[C:\media\16-14_CAM_GRID4.TS)] Received EOF. 
[2014-11-20 17:52:05.560] [057AA150] [debug]   Generated thumbnail for 16-14_CAM_GRID4
I open the OpenSloMo client and add the entry for the server.
Image
I then choose playback and click the CAM_GRID entry and try clicking the other options, but nothing will show up to the right to test the playback feature.
Image
I've also use the record one channel option and it records as well as create the thumbnail for the input, but will still not show up to the right.

Any suggestions would be greatly appreciated!

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

#219
jrobinettwa wrote:...
Most probably this is a bug of Phonon player. It likes very specific codecs to be installed in the system. Try to install K-Lite mega codec pack in different combinations of directshow codecs (LAV is the best one if I'm right). And there was some tool to show and choose the default system DS video codec to play video files.

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

#222
Wow, I am so glad my work got picked up and developed further! The audio addition is great!

Just a word about using ffmpeg as a producer and consumer for slow motion: ffmpeg isn't really built for this kind of thing. It uses a very basic infrastructure of playback which is very much linear: you seek to a position and play frames from that point. You can "delay" the frames, but it will be really difficult to do something like playing backwards, not to mention playing them backwards at a sub-1x speed. That's mainly because most video codecs (MPEG-2, MPEG-4, etc.) are designed to be one-way only. Playing them "backwards" is really difficult and essentially means you have to seek to a frame, decode it, seek to a frame preceeding it, decode it, and so on. Do remember that seeking within most codecs is a non-trivial matter. It's just because most codecs and containers aren't built to be random access. That's why I decided to use a purpose-built container format and a simple I-frame only codec. The separate index file also means the special seek features ( | - backwards from the end of file, +25, -25 (from current position) are trivial to implement. Doing this on the back of the ffmpeg engine will be quite difficult.

However: I would suggest implementing the MAV codec in CEHMYPB's client directly, bypassing the Phonon player. The MAV files are simple MJPEG streams that can be easily decoded. The audio data can be easily discarded and full preview of all channels can be easily achieved.

CEHMYPB: congratulations on your client. It seems really easy to use.
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]

#224
jstar wrote:Wow, I am so glad my work got picked up and developed further! The audio addition is great!
...However: I would suggest implementing the MAV codec in CEHMYPB's client directly, bypassing the Phonon player.
Hello!
I have one even more interesting idea. I may add MAV producer and consumer to both my client and modified server. Then it'll be able to record and slow playback both mpeg and MAV files at the same time. And user will have an opportunity to choose a codec to use for recording.
But this idea needs a lot of time to be implemented. And I'm not sure if users do really need it...

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

#228
Great work, CEHMYPB. Because a lack of time I have missed some milestones in CasparCG and MAV development, but I need to go back to it.

It will be much easier to make further development if you can upload your source code to one of version control servers (personally I prefer git) or just put an archive to your server. Now you have written about possibility of adding MAV file format - probably it will already be added as a fork if sources were available. :)

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

#233
emisiona wrote:I'm trying the caspar server and client from your solution but I can't make it work. I try to follow the steps but I find it a bit confusing. The thing is that I configure the server with 1 in 1 out (decklink), but when I open the client and connect it to the server, it crashes right away.
I need more details to help you. Leave the details of setup, text of error and when you see it in the feedback form http://openslomo.ru/en/feedback. I'll answer you by mail.

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

#235
TheYouth wrote:CEHMYPB, do you think it is possible to make it work in the way, that the Speed can be adjusted without steps? from 0-100% Playback Speed or so...
As replay operator must work very fast, we need steps to set speed fast (especially using a keybord hotkeys). But for those who need to change speed on to another values I plan to add additional widget that will give an ability to change speed set by the basic list.