On 11-12-16 03:28 AM, Aleksi Koriala wrote:
> Hi Greg, I have included the logs in attachment and one screenshot of
> Capture Agent /capture screen.
> 
> Currently I’m not receiving any errors in Matterhorn logs, but the
> Capture Agent is not working properly. When I access the Capture Agent
> /capture the view is not something I suppose it should be. I have
> VGA2USB and Logitech webcam connected and webcam is working (tried with
> Cheese).
> I’m currently trying to test the VGA2USB, system logs show that the
> vga2usb device is recognized and ready to be used. I have the right
> drivers (matches my kernel).
> On Core side it shows that Capture Agent is currently offline, even
> though CA is on. Any advices what I should do next? I will continue
> working with this after Christmas.

Ok, easy fix:

The org.opencastproject.server.url key in config.properties specifies
where Matterhorn listens for incoming connections.  The
org.opencastproject.capture.core.url key in
org.opencastproject.capture.impl.ConfigurationManager.properties is used
by the CA (whether a demo CA or a real CA) to determine where the core
lives.  In your case you have this key set on your CA to point at your
CA, rather than your core.  Most of the other configuration keys in
config.properties are ignored by the CA, so setting those does not
affect things.

I've attached corrected configuration files.  You should just be able to
drop them into the correct places and restart felix to get things working.

G

> Sincerely,
> Aleksi Koriala
> HAMK University of applied sciences
> 
> 
> 
> _______________________________________________
> Matterhorn-users mailing list
> [email protected]
> http://lists.opencastproject.org/mailman/listinfo/matterhorn-users

# Please note that the intervals and times specified in this file are in 
*seconds*

# The URL of the central core.  This assumes that all services are running on 
the same machine.
# The above assumption might not be correct.  If so then replace the 
appropriate keys below with your urls.
org.opencastproject.capture.core.url=${org.opencastproject.server.url}

### Required variables start here (the agent will behave oddly without them) ###

# The URL of the caching directory under the root directory
capture.filesystem.cache.url=${org.opencastproject.storage.dir}/cache/
# The URL of the volatile directory under the root directory
capture.filesystem.volatile.url=${org.opencastproject.storage.dir}/volatile/
# The root URL where the captures should be stored prior to ingest
capture.filesystem.cache.capture.url=${capture.filesystem.cache.url}/captures/

# Image that should be displayed, if no vga-source is connected to the epiphan 
vga2usb. If no image is set some color-bars are displayed
# capture.fallback.png=images/novideo.png

# The remote URL where the capture schedule should be retrieved
capture.schedule.remote.endpoint.url=${org.opencastproject.capture.core.url}/recordings/calendars
# The time in minutes between attempts to fetch updated calendar data
capture.schedule.remote.polling.interval=5
# The local URL of the cached copy of the capture schedule
capture.schedule.cache.url=${capture.filesystem.cache.url}/schedule.ics

# Location of a centralized configuration file
capture.config.remote.endpoint.url=
# The time in seconds to wait between updating the local copy of the 
configuration
capture.config.remote.polling.interval=600
# The file to cache the server config, if any
capture.config.cache.url=${capture.filesystem.cache.url}/capture.properties

# The name of the agent
capture.agent.name=hamkagent
# The URL of the remote state service
capture.agent.state.remote.endpoint.url=${org.opencastproject.capture.core.url}/capture-admin/agents
# The time in seconds between attempts to push the agent's state to the state 
service
capture.agent.state.remote.polling.interval=10
# The time in seconds between attempts to push the agent's capabilities to the 
state service
capture.agent.capabilities.remote.polling.interval=10

# The URL of the remote recording state service
capture.recording.state.remote.endpoint.url=${org.opencastproject.capture.core.url}/capture-admin/agents

# Number of attempts the capture agent will attempt to ingest before waiting on 
the next attempt. **/
capture.ingest.retry.limit=5
# The length of time to wait between trying to retry to ingest.
capture.ingest.retry.interval=300
# The length of time to wait until trying to ingest again after failing the 
number of times in INGEST_RETRY_LIMIT.
capture.ingest.pause.time=3600

# The maximum length of a capture, defaults to 8 hours (28800 seconds)
capture.max.length=28800

# The maximum length of time in seconds to wait before force killing a capture 
when stopping a recording
capture.recording.shutdown.timeout=60

# The default time in seconds between subsequent executions of the capture 
cleaner
capture.cleaner.interval=3600
# The default minimum available disk space, under which recordings are erased 
from the system
# IN BYTES
# NOTE:  This diskspace value does *NOT* take the reserved disk space for the 
root user into account
# PLEASE:  Set this value to more than the reserved space on disk (typically 
5%) otherwise the minimum disk space
#          checks will not function because there will appear to be enough disk 
even if you cannot write to the 5%
capture.cleaner.mindiskspace=536870912
# The default maximum time (in days) a recording should be kept if there's 
enough disk space available
capture.cleaner.maxarchivaldays=30

# confidence monitoring outputs images to this directory
capture.confidence.video.location=${org.opencastproject.storage.dir}/volatile/

# enable/disable confidence monitoring
capture.confidence.enable=false

# enable/disable timestamps on confidence images
capture.confidence.debug=false

#Controls the behaviour of the agent when two scheduled events overlap or are 
within X of one another.
#Setting this value to true will cause the cronologically second event to be 
dropped from the schedule.
#Any other setting will have the agent shorten the second event to fit.
#Note that if the length drops below the minimum capture length then the 
capture will not be scheduled.
capture.schedule.event.drop=false

#The length of time to require between capture events.  Specified in minutes.
#Note that this is a limitation of your hardware:  It takes a certain length of 
time for the hardware
#to stop and then be ready to capture again.  Setting this to less than 1 will 
*not* make this happen
#any faster, and will in fact cause you more problems when the agent tries to 
start a second capture
#while the first is still in progress.
capture.schedule.event.buffertime=1

### Required variables end here ###


### MH-4493 Properties for Felix error watch process ###

# The following properties will define how to handle Felix is it does not stay
# running indefinitely. If, for whatever reason, Felix crashes it will not 
# restart by default. The script watch_felix.sh was created to be used in 
# combination with crontab as a safeguard for Felix.

# Comma-delimited list of email addresses to send notification of failure to
capture.error.emails=
# The SMTP host to send the mail from (Default: localhost)
capture.error.smtp=
# The SMTP user to send the message from (Default: current user)
capture.error.smtp.user=
# The password for the user (Default: no password necessary)
capture.error.smtp.password=
# The subject and message of the email, respectively. Use %date to put a 
# timestamp in the subject/message and use %hostname to put the hostname in.
capture.error.subject="%hostname capture agent started at %date"
capture.error.messagebody="Capture agent was not running, and was just started."

### Capture device definitions ###

# The following lines create three example inputs for the capture agent, often
# refered to as the "mock agent" for testing purposes.  Each input consists of:
# 1:  The source, in this case a file which is listed in the project pom.xml 
#     as a dependency. To use a real device instead you would put the linux 
#     device identifier on this line (eg:  /dev/my_capture_card).
# 2:  The output file name. This can be pretty much anything, though best
#     practice is to have the extension match the appropriate value for the
#     source/container format (e.g. .mpg if using mpegtsmux).
# 3:  The flavour of the input. This flavour must be defined from options given
#     in org.opencastproject.mediapackage.MediaPackageElements.  Known
#     good examples include:
#          presenter/source
#          presentation/source
#          audience/source
#          presentation/source
#          documents/source
#          indefinite/source
#
# To make a new input device available to the capture agent you must assign it
# a unique name (without whitespace or punctuation) that will show up in the
# administrative user interface.  For instance, the following lines will make a
# device called "audience_camera" available in the administrative interface:
#     capture.device.names=audience_camera
#     capture.device.audience_camera.src=/dev/video0
#     capture.device.audience_camera.outputfile=audience.mpg
#     capture.device.audience_camera.flavor=presentation/source
#
# Codecs, containers, and bitrates for devices can be specified as follows:
#     capture.device.audience_camera.codec=ffenc_mpeg2video
#     capture.device.audience_camera.codec.bitrate=2048
#     capture.device.audience_camera.container=mpegtsmux
# 
# Codecs must be  gstreamer encoders capable of accepting video/x-raw-yuv.  The
# codec bitrate is set relative to the encoder, because many encoders are 
written 
# by different people they do not agree on a standard format such as bps
# therefore you will have to determine what prefix the encoder uses. This can be
# done by executing "gst-inspect x264enc" and looking at what format the codec
# expects for its bitrate (in this case, kbit/sec).
#
# Known good codecs include:
#     MPEG2: "ffenc_mpeg2video" with values in bits/sec
#     H264: "x264enc" *does not use bitrate, see below
#     Ogg Theora: "theoraenc" with values in kilobits/sec
#     MP2 Audio: "twolame" with values in kilobits/sec
#     MP3: "lame" with values in kilobits/sec
#     Ogg Vorbis: "vorbisenc" with values in bits/sec
#
# *H.264 encoding works by using a constant quantizer instead of a constant
# bitrate. Therefore instead of using .bitrate use .quantizer:
#               capture.device.audience_camera.codec=x264enc
#                       capture.device.audience_camera.codec.quantizer=21
#               capture.device.audience_camera.container=mp4mux
# The quantizer value for the x264enc element is a value from 1 - 50 (default: 
21)
# and it determines how much data is to be removed from each frame when 
encoding. 
# Lower quantizer values will produce more detailed videos, but with larger 
file sizes.
#
# Known good containers include:
#     MPEG2 Transport Steam: "mpegtsmux"
#     MPEG4 Layer 2: "ffmux_mp4"
#     Ogg: "oggmux"
#     Quicktime: "ffmux_mov"
#
# Each video source can also have a framerate associated with it. Please note
# that this is not the framerate that the media is captured at, it is a software
# feature that will drop, duplicate or adjust timestamps on video frames to make
# it a perfect stream at the desired framerate. Also, if the framerate is not
# set the device's default framerate is used. Set a desired framerate as 
follows:
#     capture.device.audience_camera.framerate=30
#
# All pipelines have buffers which store frames before encoding.  These buffers
# have a limit on the number of frames (called buffers by gstreamer), the number
# of bytes, and the length of time to store the information.  These parameters,
# when set incorrectly, can cause the output video to appear choppy.  To set 
these
# parameters the following keys have been defined with defaults for each input 
device:
#     capture.device.audience_camera.buffer.size=200
#     capture.device.audience_camera.buffer.bytes=10485760
#     capture.device.audience_camera.buffer.time=1000000000
#
# Keep in mind when setting these variables that increased settings can require
# more powerful hardware.


# Default the names of the mock devices
capture.device.names=MOCK_SCREEN,MOCK_PRESENTER,MOCK_MICROPHONE

#Create the screen capture
capture.device.MOCK_SCREEN.src=${M2_REPO}/org/opencastproject/samples/screen/1.0/screen-1.0.mpg
capture.device.MOCK_SCREEN.outputfile=screen_out.mpg
capture.device.MOCK_SCREEN.flavor=presentation/source
capture.device.MOCK_SCREEN.codec=ffenc_mpeg2video
capture.device.MOCK_SCREEN.codec.bitrate=1024
capture.device.MOCK_SCREEN.codec.container=mpegtsmux
capture.device.MOCK_SCREEN.buffer.size=200
capture.device.MOCK_SCREEN.buffer.bytes=10485760
capture.device.MOCK_SCREEN.buffer.time=1000000000


#Create the presenter capture
capture.device.MOCK_PRESENTER.src=${M2_REPO}/org/opencastproject/samples/camera/1.0/camera-1.0.mpg
capture.device.MOCK_PRESENTER.outputfile=camera_out.mpg
capture.device.MOCK_PRESENTER.flavor=presenter/source
capture.device.MOCK_PRESENTER.codec=ffenc_mpeg2video
capture.device.MOCK_PRESENTER.codec.bitrate=1024
capture.device.MOCK_PRESENTER.codec.container=mpegtsmux
capture.device.MOCK_PRESENTER.buffer.size=200
capture.device.MOCK_PRESENTER.buffer.bytes=10485760
capture.device.MOCK_PRESENTER.buffer.time=1000000000

#Create the audio capture
capture.device.MOCK_MICROPHONE.src=${M2_REPO}/org/opencastproject/samples/audio/1.0/audio-1.0.mp3
capture.device.MOCK_MICROPHONE.outputfile=audio_out.mp3
capture.device.MOCK_MICROPHONE.flavor=presentation/source
capture.device.MOCK_MICROPHONE.codec=twolame
capture.device.MOCK_MICROPHONE.codec.bitrate=192
capture.device.MOCK_MICROPHONE.codec.container=mpegtsmux
capture.device.MOCK_MICROPHONE.buffer.size=200
capture.device.MOCK_MICROPHONE.buffer.bytes=10485760
capture.device.MOCK_MICROPHONE.buffer.time=1000000000
# Please note that the intervals and times specified in this file are in 
*seconds*

# The URL of the central core.  This assumes that all services are running on 
the same machine.
# The above assumption might not be correct.  If so then replace the 
appropriate keys below with your urls.
org.opencastproject.capture.core.url=http://172.17.77.55:8080

### Required variables start here (the agent will behave oddly without them) ###

# The URL of the caching directory under the root directory
capture.filesystem.cache.url=${org.opencastproject.storage.dir}/cache/
# The URL of the volatile directory under the root directory
capture.filesystem.volatile.url=${org.opencastproject.storage.dir}/volatile/
# The root URL where the captures should be stored prior to ingest
capture.filesystem.cache.capture.url=${capture.filesystem.cache.url}/captures/

# Image that should be displayed, if no vga-source is connected to the epiphan 
vga2usb. If no image is set some color-bars are displayed
# capture.fallback.png=images/novideo.png

# The remote URL where the capture schedule should be retrieved
capture.schedule.remote.endpoint.url=${org.opencastproject.capture.core.url}/recordings/calendars
# The time in minutes between attempts to fetch updated calendar data
capture.schedule.remote.polling.interval=30
# The local URL of the cached copy of the capture schedule
capture.schedule.cache.url=${capture.filesystem.cache.url}/schedule.ics

# Location of a centralized configuration file
capture.config.remote.endpoint.url=
# The time in seconds to wait between updating the local copy of the 
configuration
capture.config.remote.polling.interval=600
# The file to cache the server config, if any
capture.config.cache.url=${capture.filesystem.cache.url}/capture.properties

# The name of the agent
capture.agent.name=hamkagent
# The URL of the remote state service
capture.agent.state.remote.endpoint.url=${org.opencastproject.capture.core.url}/capture-admin/agents
# The time in seconds between attempts to push the agent's state to the state 
service
capture.agent.state.remote.polling.interval=10
# The time in seconds between attempts to push the agent's capabilities to the 
state service
capture.agent.capabilities.remote.polling.interval=10

# The URL of the remote recording state service
capture.recording.state.remote.endpoint.url=${org.opencastproject.capture.core.url}/capture-admin/agents

# Number of attempts the capture agent will attempt to ingest before waiting on 
the next attempt. **/
capture.ingest.retry.limit=5
# The length of time to wait between trying to retry to ingest.
capture.ingest.retry.interval=300
# The length of time to wait until trying to ingest again after failing the 
number of times in INGEST_RETRY_LIMIT.
capture.ingest.pause.time=3600

# The maximum length of a capture, defaults to 8 hours (28800 seconds)
capture.max.length=28800

# The maximum length of time in seconds to wait before force killing a capture 
when stopping a recording
capture.recording.shutdown.timeout=60

# The default time in seconds between subsequent executions of the capture 
cleaner
capture.cleaner.interval=3600
# The default minimum available disk space, under which recordings are erased 
from the system
# IN BYTES
# NOTE:  This diskspace value does *NOT* take the reserved disk space for the 
root user into account
# PLEASE:  Set this value to more than the reserved space on disk (typically 
5%) otherwise the minimum disk space
#          checks will not function because there will appear to be enough disk 
even if you cannot write to the 5%
capture.cleaner.mindiskspace=536870912
# The default maximum time (in days) a recording should be kept if there's 
enough disk space available
capture.cleaner.maxarchivaldays=30

# confidence monitoring outputs images to this directory
capture.confidence.video.location=${org.opencastproject.storage.dir}/volatile/

# enable/disable confidence monitoring
capture.confidence.enable=false

# enable/disable timestamps on confidence images
capture.confidence.debug=false

#Controls the behaviour of the agent when two scheduled events overlap or are 
within X of one another.
#Setting this value to true will cause the cronologically second event to be 
dropped from the schedule.
#Any other setting will have the agent shorten the second event to fit.
#Note that if the length drops below the minimum capture length then the 
capture will not be scheduled.
capture.schedule.event.drop=false

#The length of time to require between capture events.  Specified in minutes.
#Note that this is a limitation of your hardware:  It takes a certain length of 
time for the hardware
#to stop and then be ready to capture again.  Setting this to less than 1 will 
*not* make this happen
#any faster, and will in fact cause you more problems when the agent tries to 
start a second capture
#while the first is still in progress.
capture.schedule.event.buffertime=1

### Required variables end here ###


### MH-4493 Properties for Felix error watch process ###

# The following properties will define how to handle Felix is it does not stay
# running indefinitely. If, for whatever reason, Felix crashes it will not 
# restart by default. The script watch_felix.sh was created to be used in 
# combination with crontab as a safeguard for Felix.

# Comma-delimited list of email addresses to send notification of failure to
capture.error.emails=
# The SMTP host to send the mail from (Default: localhost)
capture.error.smtp=
# The SMTP user to send the message from (Default: current user)
capture.error.smtp.user=
# The password for the user (Default: no password necessary)
capture.error.smtp.password=
# The subject and message of the email, respectively. Use %date to put a 
# timestamp in the subject/message and use %hostname to put the hostname in.
capture.error.subject="%hostname capture agent started at %date"
capture.error.messagebody="Capture agent was not running, and was just started."

### Capture device definitions ###

# The following lines create three example inputs for the capture agent, often
# refered to as the "mock agent" for testing purposes.  Each input consists of:
# 1:  The source, in this case a file which is listed in the project pom.xml 
#     as a dependency. To use a real device instead you would put the linux 
#     device identifier on this line (eg:  /dev/my_capture_card).
# 2:  The output file name. This can be pretty much anything, though best
#     practice is to have the extension match the appropriate value for the
#     source/container format (e.g. .mpg if using mpegtsmux).
# 3:  The flavour of the input. This flavour must be defined from options given
#     in org.opencastproject.mediapackage.MediaPackageElements.  Known
#     good examples include:
#          presenter/source
#          presentation/source
#          audience/source
#          presentation/source
#          documents/source
#          indefinite/source
#
# To make a new input device available to the capture agent you must assign it
# a unique name (without whitespace or punctuation) that will show up in the
# administrative user interface.  For instance, the following lines will make a
# device called "audience_camera" available in the administrative interface:
#
# Codecs, containers, and bitrates for devices can be specified as follows:
# 
# Codecs must be  gstreamer encoders capable of accepting video/x-raw-yuv.  The
# codec bitrate is set relative to the encoder, because many encoders are 
written 
# by different people they do not agree on a standard format such as bps
# therefore you will have to determine what prefix the encoder uses. This can be
# done by executing "gst-inspect x264enc" and looking at what format the codec
# expects for its bitrate (in this case, kbit/sec).
#
# Known good codecs include:
#     MPEG2: "ffenc_mpeg2video" with values in bits/sec
#     H264: "x264enc" *does not use bitrate, see below
#     Ogg Theora: "theoraenc" with values in kilobits/sec
#     MP2 Audio: "twolame" with values in kilobits/sec
#     MP3: "lame" with values in kilobits/sec
#     Ogg Vorbis: "vorbisenc" with values in bits/sec
#
# *H.264 encoding works by using a constant quantizer instead of a constant
# bitrate. Therefore instead of using .bitrate use .quantizer:
# The quantizer value for the x264enc element is a value from 1 - 50 (default: 
21)
# and it determines how much data is to be removed from each frame when 
encoding. 
# Lower quantizer values will produce more detailed videos, but with larger 
file sizes.
#
# Known good containers include:
#     MPEG2 Transport Steam: "mpegtsmux"
#     MPEG4 Layer 2: "ffmux_mp4"
#     Ogg: "oggmux"
#     Quicktime: "ffmux_mov"
#
# Each video source can also have a framerate associated with it. Please note
# that this is not the framerate that the media is captured at, it is a software
# feature that will drop, duplicate or adjust timestamps on video frames to make
# it a perfect stream at the desired framerate. Also, if the framerate is not
# set the device's default framerate is used. Set a desired framerate as 
follows:
#
# All pipelines have buffers which store frames before encoding.  These buffers
# have a limit on the number of frames (called buffers by gstreamer), the number
# of bytes, and the length of time to store the information.  These parameters,
# when set incorrectly, can cause the output video to appear choppy.  To set 
these
# parameters the following keys have been defined with defaults for each input 
device:
#
# Keep in mind when setting these variables that increased settings can require
# more powerful hardware.


# Default the names of the mock devices

#Create the screen capture


#Create the presenter capture

#Create the audio capture
capture.device.intel.src=hw:0
capture.device.intel.outputfile=intel.mp3
capture.device.intel.flavor=presenter/source
capture.device.intel.buffer.bytes=1073741824
capture.device.names=intel

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Matterhorn-users mailing list
[email protected]
http://lists.opencastproject.org/mailman/listinfo/matterhorn-users

Reply via email to