Coder Social home page Coder Social logo

Comments (5)

MathieuDuponchelle avatar MathieuDuponchelle commented on June 17, 2024

Yes, that's something to add to integration tests, fairly simple, for now we only test encoding with an ogg profile.

from gst-editing-services.

MathieuDuponchelle avatar MathieuDuponchelle commented on June 17, 2024

#41

from gst-editing-services.

lubosz avatar lubosz commented on June 17, 2024

These is a excerpt of the log (i deleted duplicate errors) from the integration test suite

Lines like these confirm this bug:
ges/integration.c:432:E:render:test_effect_render_to_aac_h264_quicktime_mp3_h264_mov:0: (after this point) Test timeout expired

Do you also encounter them?

bmonkey@bbook:~/workspace/ges/gst-editing-services (integration)$ make check-integration 
cd tests/check && make check-integration
make[1]: Entering directory `/home/bmonkey/workspace/ges/gst-editing-services/tests/check'
./integration
Running suite(s): ges-render
0:00:25.029348973 25325 0x7f4618029730 ERROR                  check ges/integration.c:184:my_bus_callback: Error: No valid frames found before end of stream

0:00:29.618217891 25401 0x7f4604155390 ERROR                  libav :0:: get_buffer() failed (stride changed)
0:00:29.618319929 25401 0x7f4604155390 ERROR                  libav :0:: decode_slice_header error
0:00:29.618337110 25401 0x7f4604155390 ERROR                  libav :0:: no frame!

Unexpected critical/warning: No headers or buffers on pad muxer:video_763748129

x264 [error]: high10 profile doesn't support 4:4:4

0:02:05.485445372 26450 0x7f4620054330 ERROR                  check ges/integration.c:374:run_simple_seeks_test: Seeking at 0:00:01.500000000 to 0:00:01.800000000 did not happen

76%: Checks: 76, Failures: 7, Errors: 11
ges/integration.c:517:E:render:test_basic_render_to_aac_h264_quicktime_vorbis_vp8_webm:0: (after this point) Test timeout expired
ges/integration.c:517:E:render:test_basic_render_to_aac_h264_quicktime_mp3_h264_mov:0: (after this point) Test timeout expired
ges/integration.c:517:E:render:test_basic_render_to_vorbis_h264_matroska_vorbis_vp8_webm:0: (after this point) Received signal 11 (Segmentation fault)
ges/integration.c:517:E:render:test_basic_render_to_vorbis_h264_matroska_mp3_h264_mov:0: (after this point) Received signal 11 (Segmentation fault)
gstcheck.c:75:F:render:test_effect_render_to_vorbis_theora_ogg_mp3_h264_mov:0: Unexpected critical/warning: No headers or buffers on pad muxer:video_763748129
ges/integration.c:432:E:render:test_effect_render_to_aac_h264_quicktime_vorbis_vp8_webm:0: (after this point) Test timeout expired
ges/integration.c:432:E:render:test_effect_render_to_aac_h264_quicktime_mp3_h264_mov:0: (after this point) Test timeout expired
ges/integration.c:432:E:render:test_effect_render_to_vorbis_h264_matroska_vorbis_vp8_webm:0: (after this point) Received signal 11 (Segmentation fault)
ges/integration.c:432:E:render:test_effect_render_to_vorbis_h264_matroska_mp3_h264_mov:0: (after this point) Received signal 11 (Segmentation fault)
ges/integration.c:476:E:render:test_transition_render_to_aac_h264_quicktime_vorbis_vp8_webm:0: (after this point) Test timeout expired
ges/integration.c:476:E:render:test_transition_render_to_aac_h264_quicktime_mp3_h264_mov:0: (after this point) Test timeout expired
ges/integration.c:270:F:render:test_transition_render_to_vorbis_h264_matroska_mp3_h264_mov:0: Duration 0:00:02.776689340 not in range [0:00:02.900000000 -- 0:00:03.100000000]
ges/integration.c:551:F:render:test_image_playback_vorbis_vp8_webm:0: Assertion 'asset1 != NULL' failed
ges/integration.c:551:F:render:test_image_playback_vorbis_theora_ogv:0: Assertion 'asset1 != NULL' failed
ges/integration.c:551:F:render:test_image_playback_raw_h264_mov:0: Assertion 'asset1 != NULL' failed
ges/integration.c:551:F:render:test_image_playback_mp3_h264_mov:0: Assertion 'asset1 != NULL' failed
ges/integration.c:231:E:render:test_seeking_playback_raw_h264_mov:0: (after this point) Test timeout expired
ges/integration.c:379:F:render:test_seeking_audio_playback_raw_h264_mov:0: Got EOS before being able to execute all seeks
make[1]: *** [check-integration] Error 18
make[1]: Leaving directory `/home/bmonkey/workspace/ges/gst-editing-services/tests/check'
make: *** [check-integration] Error 2

from gst-editing-services.

MathieuDuponchelle avatar MathieuDuponchelle commented on June 17, 2024

Yes we do, working on fixing these one error at a time :)

from gst-editing-services.

lubosz avatar lubosz commented on June 17, 2024

This can be closed, I was using a wrong caps constructor (or it was fixed somewhere else in gst)

This works now:

#!/usr/bin/python
from gi.repository import GES, Gst, Gtk, GstPbutils, GObject

import signal

outputFile = 'file:///home/bmonkey/workspace/ges/export/quickTimeTest'

def handle_sigint(sig, frame):
    Gtk.main_quit()

def busMessageCb(bus, message):
    if message.type == Gst.MessageType.EOS:
        print("eos")
        Gtk.main_quit()
    elif message.type == Gst.MessageType.ERROR:
        print (message.parse_error())

def duration_querier(pipeline):
    print(pipeline.query_position(Gst.Format.TIME)[1] / Gst.SECOND)
    return True

def encoderProfile(container, video, audio):

  cont_caps = Gst.Caps.from_string(container)

  container_profile = GstPbutils.EncodingContainerProfile.new(
    "quicktime",
    "QuickTime Encoding Profile",
    cont_caps,
    None)

  video_profile = GstPbutils.EncodingVideoProfile.new(
    Gst.Caps.from_string(video),
    None,
    Gst.Caps.from_string("video/x-raw"),
    0)
  container_profile.add_profile(video_profile)

  audio_profile = GstPbutils.EncodingAudioProfile.new(
    Gst.Caps.from_string(audio),
    None,
    Gst.Caps.from_string("audio/x-raw"),
    0)
  container_profile.add_profile(audio_profile)

  return container_profile

if __name__ =="__main__":
  Gst.init(None)
  GES.init()

  timeline = GES.Timeline.new_audio_video()
  layer = GES.Layer()
  timeline.add_layer(layer)
  asset = GES.Asset.request(GES.TestClip, None)

  layer.add_asset(asset, 0 * Gst.SECOND, 0, 10 * Gst.SECOND, GES.TrackType.UNKNOWN)

  timeline.commit()

  pipeline = GES.Pipeline()
  pipeline.add_timeline(timeline)

  format = ["video/quicktime,variant=iso", "video/x-h264", "audio/mpeg,mpegversion=1,layer=3", "mov"]

  container_profile = encoderProfile(format[0], format[1], format[2])

  pipeline.set_render_settings(outputFile + "." + format[3], container_profile)
  pipeline.set_mode(GES.PipelineFlags.RENDER)
  pipeline.set_state(Gst.State.PLAYING)

  bus = pipeline.get_bus()
  bus.add_signal_watch()
  bus.connect("message", busMessageCb)
  GObject.timeout_add(300, duration_querier, pipeline)

  signal.signal(signal.SIGINT, handle_sigint)
  Gtk.main()

from gst-editing-services.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.