예제 #1
0
static void
byzanz_encoder_flv_class_init (ByzanzEncoderFlvClass *klass)
{
  ByzanzEncoderClass *encoder_class = BYZANZ_ENCODER_CLASS (klass);
  ByzanzEncoderGStreamerClass *gstreamer_class = BYZANZ_ENCODER_GSTREAMER_CLASS (klass);

  encoder_class->filter = gtk_file_filter_new ();
  g_object_ref_sink (encoder_class->filter);
  gtk_file_filter_set_name (encoder_class->filter, _("Flash video"));
  gtk_file_filter_add_mime_type (encoder_class->filter, "video/x-flv");
  gtk_file_filter_add_pattern (encoder_class->filter, "*.flv");

  gstreamer_class->pipeline_string = 
    "appsrc name=src ! videoconvert ! avenc_flashsv buffer-size=8388608 ! flvmux ! giostreamsink name=sink";
  gstreamer_class->audio_pipeline_string = 
    "autoaudiosrc name=audiosrc ! audioconvert ! audio/x-raw-int,width=16 ! queue ! flvmux name=muxer ! giostreamsink name=sink "
    "appsrc name=src ! videoconvert ! avenc_flashsv buffer-size=8388608 ! muxer.";
}
예제 #2
0
static void
byzanz_encoder_webm_class_init (ByzanzEncoderWebmClass *klass)
{
  ByzanzEncoderClass *encoder_class = BYZANZ_ENCODER_CLASS (klass);
  ByzanzEncoderGStreamerClass *gstreamer_class = BYZANZ_ENCODER_GSTREAMER_CLASS (klass);

  encoder_class->filter = gtk_file_filter_new ();
  g_object_ref_sink (encoder_class->filter);
  gtk_file_filter_set_name (encoder_class->filter, _("WebM video"));
  gtk_file_filter_add_mime_type (encoder_class->filter, "video/webm");
  gtk_file_filter_add_pattern (encoder_class->filter, "*.webm");

  gstreamer_class->pipeline_string = 
    "appsrc name=src ! videoconvert ! videorate ! "
    "video/x-raw,format=I420,framerate=25/1 ! vp8enc ! webmmux ! giostreamsink name=sink";
  gstreamer_class->audio_pipeline_string = 
    "autoaudiosrc name=audiosrc ! audioconvert ! vorbisenc ! queue ! webmmux name=muxer ! giostreamsink name=sink "
    "appsrc name=src ! videoconvert ! videorate ! "
    "video/x-raw,format=I420,framerate=25/1 ! vp8enc ! queue ! muxer.";
}
예제 #3
0
static void
byzanz_encoder_ogv_class_init (ByzanzEncoderOgvClass *klass)
{
  ByzanzEncoderClass *encoder_class = BYZANZ_ENCODER_CLASS (klass);
  ByzanzEncoderGStreamerClass *gstreamer_class = BYZANZ_ENCODER_GSTREAMER_CLASS (klass);

  encoder_class->filter = gtk_file_filter_new ();
  g_object_ref_sink (encoder_class->filter);
  gtk_file_filter_set_name (encoder_class->filter, _("Theora video"));
  gtk_file_filter_add_mime_type (encoder_class->filter, "video/ogg");
  gtk_file_filter_add_pattern (encoder_class->filter, "*.ogv");
  gtk_file_filter_add_pattern (encoder_class->filter, "*.ogg");

  gstreamer_class->pipeline_string = 
    "appsrc name=src ! videoconvert ! videorate !"
    "video/x-raw,format=Y444,framerate=25/1 ! theoraenc ! oggmux ! giostreamsink name=sink";
  gstreamer_class->audio_pipeline_string = 
    "autoaudiosrc name=audiosrc ! audioconvert ! queue ! oggmux name=muxer ! giostreamsink name=sink "
    "appsrc name=src ! videoconvert ! videorate ! "
    "video/x-raw,format=Y444,framerate=25/1 ! theoraenc ! queue ! muxer.";
}