mlt-devel Mailing List for MLT Multimedia Framework (Page 2)
Brought to you by:
ddennedy,
lilo_booter
This list is closed, nobody may subscribe to it.
2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(2) |
Jul
(14) |
Aug
(44) |
Sep
(10) |
Oct
(1) |
Nov
(4) |
Dec
(3) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 |
Jan
(30) |
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
(28) |
Jul
(66) |
Aug
(40) |
Sep
(28) |
Oct
(49) |
Nov
(56) |
Dec
(46) |
2006 |
Jan
(8) |
Feb
(24) |
Mar
(16) |
Apr
(9) |
May
(13) |
Jun
(5) |
Jul
(22) |
Aug
(12) |
Sep
(12) |
Oct
(35) |
Nov
(14) |
Dec
(12) |
2007 |
Jan
(13) |
Feb
(28) |
Mar
(57) |
Apr
(35) |
May
(19) |
Jun
(59) |
Jul
(43) |
Aug
(15) |
Sep
(8) |
Oct
(27) |
Nov
(9) |
Dec
(26) |
2008 |
Jan
(28) |
Feb
(70) |
Mar
(41) |
Apr
(12) |
May
(32) |
Jun
(39) |
Jul
(49) |
Aug
(16) |
Sep
(7) |
Oct
(83) |
Nov
(39) |
Dec
(76) |
2009 |
Jan
(67) |
Feb
(83) |
Mar
(37) |
Apr
(53) |
May
(86) |
Jun
(71) |
Jul
(64) |
Aug
(96) |
Sep
(142) |
Oct
(34) |
Nov
(82) |
Dec
(60) |
2010 |
Jan
(54) |
Feb
(50) |
Mar
(61) |
Apr
(33) |
May
(39) |
Jun
(49) |
Jul
(28) |
Aug
(71) |
Sep
(89) |
Oct
(51) |
Nov
(34) |
Dec
(67) |
2011 |
Jan
(94) |
Feb
(76) |
Mar
(110) |
Apr
(49) |
May
(178) |
Jun
(105) |
Jul
(137) |
Aug
(29) |
Sep
(151) |
Oct
(70) |
Nov
(50) |
Dec
(49) |
2012 |
Jan
(130) |
Feb
(159) |
Mar
(51) |
Apr
(51) |
May
(31) |
Jun
(41) |
Jul
(67) |
Aug
(63) |
Sep
(137) |
Oct
(81) |
Nov
(82) |
Dec
(89) |
2013 |
Jan
(65) |
Feb
(74) |
Mar
(52) |
Apr
(43) |
May
(64) |
Jun
(66) |
Jul
(48) |
Aug
(16) |
Sep
(20) |
Oct
(41) |
Nov
(20) |
Dec
(53) |
2014 |
Jan
(79) |
Feb
(51) |
Mar
(51) |
Apr
(62) |
May
(38) |
Jun
(85) |
Jul
(29) |
Aug
(34) |
Sep
(91) |
Oct
(56) |
Nov
(27) |
Dec
(33) |
2015 |
Jan
(50) |
Feb
(74) |
Mar
(41) |
Apr
(70) |
May
(26) |
Jun
(53) |
Jul
(28) |
Aug
(8) |
Sep
(36) |
Oct
(42) |
Nov
(35) |
Dec
(20) |
2016 |
Jan
(21) |
Feb
(57) |
Mar
(42) |
Apr
(57) |
May
(32) |
Jun
(43) |
Jul
(87) |
Aug
(11) |
Sep
(23) |
Oct
(76) |
Nov
(31) |
Dec
(20) |
2017 |
Jan
(41) |
Feb
(58) |
Mar
(32) |
Apr
(12) |
May
(7) |
Jun
(6) |
Jul
(9) |
Aug
(19) |
Sep
(26) |
Oct
(13) |
Nov
(15) |
Dec
(9) |
2018 |
Jan
(19) |
Feb
(40) |
Mar
(45) |
Apr
(19) |
May
(33) |
Jun
(33) |
Jul
(19) |
Aug
(37) |
Sep
(15) |
Oct
(22) |
Nov
(22) |
Dec
(29) |
2019 |
Jan
(9) |
Feb
(4) |
Mar
(3) |
Apr
(1) |
May
|
Jun
(4) |
Jul
|
Aug
(3) |
Sep
(11) |
Oct
(1) |
Nov
(8) |
Dec
(6) |
2020 |
Jan
(6) |
Feb
(6) |
Mar
|
Apr
(1) |
May
(11) |
Jun
|
Jul
(13) |
Aug
(3) |
Sep
(4) |
Oct
(11) |
Nov
(15) |
Dec
(4) |
2021 |
Jan
(3) |
Feb
(3) |
Mar
(2) |
Apr
(10) |
May
|
Jun
|
Jul
(2) |
Aug
(20) |
Sep
(1) |
Oct
(3) |
Nov
(14) |
Dec
(12) |
2022 |
Jan
(29) |
Feb
|
Mar
|
Apr
|
May
(8) |
Jun
(1) |
Jul
|
Aug
|
Sep
(7) |
Oct
|
Nov
(11) |
Dec
(1) |
2023 |
Jan
(6) |
Feb
(3) |
Mar
|
Apr
|
May
|
Jun
(9) |
Jul
(22) |
Aug
|
Sep
(3) |
Oct
(3) |
Nov
(5) |
Dec
|
2024 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
(14) |
Sep
(2) |
Oct
|
Nov
|
Dec
|
From: Dan D. <dde...@gm...> - 2023-10-13 07:06:45
|
Fixed in git, supports old (4) and new versions. See also https://github.com/mltframework/mlt/issues/930 On Thu, Oct 12, 2023 at 6:34 AM Patrick Matthäi via Mlt-devel < mlt...@li...> wrote: > Hello, > > I have got this patch for RTAudio 6 "support" (not tested, but it builds > with 7.18.0). This patch also applies to the 7.20.0 version. > The problem is with the patch applied mlt builds against rtaudio 6.0.1, > but it fails against 5.2.0 just with: > > [ 57%] Linking CXX shared module ../../../out/lib/mlt/libmltmovit.so > cd /build/mlt-7.20.0/obj-x86_64-linux-gnu/src/modules/movit && > /usr/bin/cmake -E cmake_link_script CMakeFiles/mltmovit.dir/link.txt > --verbose=1 > /usr/bin/c++ -fPIC -g -O2 -ffile-prefix-map=/build/mlt-7.20.0=. > -fstack-protector-strong -fstack-clash-protection -Wformat > -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 > -Wl,-z,relro -Wl,-z,now -shared -o ../../../out/lib/mlt/libmltmovit.so > CMakeFiles/mltmovit.dir/factory.c.o > CMakeFiles/mltmovit.dir/filter_glsl_manager.cpp.o > CMakeFiles/mltmovit.dir/filter_movit_blur.cpp.o > CMakeFiles/mltmovit.dir/filter_movit_convert.cpp.o > CMakeFiles/mltmovit.dir/filter_movit_crop.cpp.o > CMakeFiles/mltmovit.dir/filter_movit_deconvolution_sharpen.cpp.o > CMakeFiles/mltmovit.dir/filter_movit_diffusion.cpp.o > CMakeFiles/mltmovit.dir/filter_movit_flip.cpp.o > CMakeFiles/mltmovit.dir/filter_movit_glow.cpp.o > CMakeFiles/mltmovit.dir/filter_movit_lift_gamma_gain.cpp.o > CMakeFiles/mltmovit.dir/filter_movit_mirror.cpp.o > CMakeFiles/mltmovit.dir/filter_movit_opacity.cpp.o > CMakeFiles/mltmovit.dir/filter_movit_rect.cpp.o > CMakeFiles/mltmovit.dir/filter_movit_resample.cpp.o > CMakeFiles/mltmovit.dir/filter_movit_resize.cpp.o > CMakeFiles/mltmovit.dir/filter_movit_saturation.cpp.o > CMakeFiles/mltmovit.dir/filter_movit_vignette.cpp.o > CMakeFiles/mltmovit.dir/filter_movit_white_balance.cpp.o > CMakeFiles/mltmovit.dir/mlt_movit_input.cpp.o > CMakeFiles/mltmovit.dir/transition_movit_luma.cpp.o > CMakeFiles/mltmovit.dir/transition_movit_mix.cpp.o > CMakeFiles/mltmovit.dir/transition_movit_overlay.cpp.o > CMakeFiles/mltmovit.dir/consumer_xgl.c.o > -Wl,-rpath,/build/mlt-7.20.0/obj-x86_64-linux-gnu/out/lib: -lm > ../../../out/lib/libmlt++-7.so.7.20.0 /usr/lib/x86_64-linux-gnu/libX11.so > ../../../out/lib/libmlt-7.so.7.20.0 /usr/lib/x86_64-linux-gnu/libGLX.so > /usr/lib/x86_64-linux-gnu/libOpenGL.so > /usr/lib/x86_64-linux-gnu/libmovit.so /usr/lib/x86_64-linux-gnu/libepoxy.so > make[3]: Leaving directory '/build/mlt-7.20.0/obj-x86_64-linux-gnu' > [ 57%] Built target mltmovit > make[2]: Leaving directory '/build/mlt-7.20.0/obj-x86_64-linux-gnu' > make[1]: *** [Makefile:139: all] Error 2 > make[1]: Leaving directory '/build/mlt-7.20.0/obj-x86_64-linux-gnu' > dh_auto_build: error: cd obj-x86_64-linux-gnu && make -j2 "INSTALL=install > --strip-program=true" VERBOSE=1 returned exit code 2 > make: *** [debian/rules:11: binary] Error 2 > dpkg-buildpackage: error: debian/rules binary subprocess returned exit > status 2 > > > A better fix would be welcome :) > > > -------- Weitergeleitete Nachricht -------- > Betreff: Bug#1051570: mlt: FTBFS with RtAudio 6 > Weitersenden-Datum: Sat, 09 Sep 2023 21:15:01 +0000 > Weitersenden-Von: IOhannes m zmoelnig <uml...@de...> > <uml...@de...> > Weitersenden-An: deb...@li... > Weitersenden-CC: Patrick Matthäi <pma...@de...> > <pma...@de...> > Datum: Sat, 09 Sep 2023 23:10:59 +0200 > Von: IOhannes m zmoelnig <uml...@de...> <uml...@de...> > Antwort an: IOhannes m zmoelnig <uml...@de...> > <uml...@de...>, 10...@bu... > An: Debian Bug Tracking System <su...@bu...> > <su...@bu...> > > Source: mlt > Version: 7.18.0-2 > Severity: serious > Tags: ftbfs patch > Justification: fails to build from source (but built successfully in the > past) > > Dear Maintainer, > > mlt ftbfs with RtAudio 6 (currently in experimental). > > ``` > [ 89%] Building CXX object > src/modules/rtaudio/CMakeFiles/mltrtaudio.dir/consumer_rtaudio.cpp.o > cd /build/mlt-zme0kO/mlt-7.18.0/obj-x86_64-linux-gnu/src/modules/rtaudio > && /usr/lib/ccache/c++ -Dmltrtaudio_EXPORTS > -I/build/mlt-zme0kO/mlt-7.18.0/src/framework/.. -isystem > /usr/include/rtaudio -g -O2 > -ffile-prefix-map=/build/mlt-zme0kO/mlt-7.18.0=. -fstack-protector-strong > -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection > -Wdate-time -D_FORTIFY_SOURCE=2 -std=c++14 -fPIC -mmmx -msse -msse2 > -pthread -D__LINUX_ALSA__ -D__LINUX_PULSE__ -D__UNIX_JACK__ -D_REENTRANT > -MD -MT > src/modules/rtaudio/CMakeFiles/mltrtaudio.dir/consumer_rtaudio.cpp.o -MF > CMakeFiles/mltrtaudio.dir/consumer_rtaudio.cpp.o.d -o > CMakeFiles/mltrtaudio.dir/consumer_rtaudio.cpp.o -c > /build/mlt-zme0kO/mlt-7.18.0/src/modules/rtaudio/consumer_rtaudio.cpp > /build/mlt-zme0kO/mlt-7.18.0/src/modules/rtaudio/consumer_rtaudio.cpp: In > member function ‘bool RtAudioConsumer::create_rtaudio(RtAudio::Api, int, > int)’: > /build/mlt-zme0kO/mlt-7.18.0/src/modules/rtaudio/consumer_rtaudio.cpp:164:26: > error: ‘struct RtAudio::DeviceInfo’ has no member named ‘probed’ > 164 | if (info.probed && info.name == resource) { > | ^~~~~~ > /build/mlt-zme0kO/mlt-7.18.0/src/modules/rtaudio/consumer_rtaudio.cpp:212:16: > error: ‘RtAudioError’ does not name a type; did you mean ‘RtAudioErrorType’? > 212 | catch (RtAudioError &e) { > | ^~~~~~~~~~~~ > | RtAudioErrorType > In file included from > /build/mlt-zme0kO/mlt-7.18.0/src/framework/../framework/mlt.h:50, > from > /build/mlt-zme0kO/mlt-7.18.0/src/modules/rtaudio/consumer_rtaudio.cpp:20: > /build/mlt-zme0kO/mlt-7.18.0/src/modules/rtaudio/consumer_rtaudio.cpp:214:49: > error: ‘e’ was not declared in this scope > 214 | mlt_log_info(getConsumer(), "%s\n", e.getMessage().c_str()); > | ^ > /build/mlt-zme0kO/mlt-7.18.0/src/framework/../framework/mlt_log.h:88:93: > note: in definition of macro ‘mlt_log_info’ > 88 | #define mlt_log_info(service, format, args...) mlt_log((service), > MLT_LOG_INFO, (format), ##args) > | ^~~~ > /build/mlt-zme0kO/mlt-7.18.0/src/modules/rtaudio/consumer_rtaudio.cpp: In > member function ‘int RtAudioConsumer::stop()’: > /build/mlt-zme0kO/mlt-7.18.0/src/modules/rtaudio/consumer_rtaudio.cpp:365:24: > error: ‘RtAudioError’ does not name a type; did you mean ‘RtAudioErrorType’? > 365 | catch (RtAudioError &e) { > | ^~~~~~~~~~~~ > | RtAudioErrorType > /build/mlt-zme0kO/mlt-7.18.0/src/modules/rtaudio/consumer_rtaudio.cpp:367:58: > error: ‘e’ was not declared in this scope > 367 | mlt_log_error(getConsumer(), "%s\n", e.getMessage().c_str()); > | ^ > /build/mlt-zme0kO/mlt-7.18.0/src/framework/../framework/mlt_log.h:85:95: > note: in definition of macro ‘mlt_log_error’ > 85 | #define mlt_log_error(service, format, args...) mlt_log((service), > MLT_LOG_ERROR, (format), ##args) > | ^~~~ > make[2]: *** [src/modules/rtaudio/CMakeFiles/mltrtaudio.dir/build.make:79: > src/modules/rtaudio/CMakeFiles/mltrtaudio.dir/consumer_rtaudio.cpp.o] Error > 1 > make[2]: Target 'src/modules/rtaudio/CMakeFiles/mltrtaudio.dir/build' not > remade because of errors. > make[2]: Leaving directory > '/build/mlt-zme0kO/mlt-7.18.0/obj-x86_64-linux-gnu' > ``` > > Attached is a patch that fixes the FTBFS (but is otherwise untested). > No debdiff this time, sorry. > > cheers. > _______________________________________________ > Mlt-devel mailing list > Mlt...@li... > https://lists.sourceforge.net/lists/listinfo/mlt-devel > |
From: Patrick M. <pa...@li...> - 2023-10-12 13:33:49
|
Hello, I have got this patch for RTAudio 6 "support" (not tested, but it builds with 7.18.0). This patch also applies to the 7.20.0 version. The problem is with the patch applied mlt builds against rtaudio 6.0.1, but it fails against 5.2.0 just with: [ 57%] Linking CXX shared module ../../../out/lib/mlt/libmltmovit.so cd /build/mlt-7.20.0/obj-x86_64-linux-gnu/src/modules/movit && /usr/bin/cmake -E cmake_link_script CMakeFiles/mltmovit.dir/link.txt --verbose=1 /usr/bin/c++ -fPIC -g -O2 -ffile-prefix-map=/build/mlt-7.20.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wl,-z,now -shared -o ../../../out/lib/mlt/libmltmovit.so CMakeFiles/mltmovit.dir/factory.c.o CMakeFiles/mltmovit.dir/filter_glsl_manager.cpp.o CMakeFiles/mltmovit.dir/filter_movit_blur.cpp.o CMakeFiles/mltmovit.dir/filter_movit_convert.cpp.o CMakeFiles/mltmovit.dir/filter_movit_crop.cpp.o CMakeFiles/mltmovit.dir/filter_movit_deconvolution_sharpen.cpp.o CMakeFiles/mltmovit.dir/filter_movit_diffusion.cpp.o CMakeFiles/mltmovit.dir/filter_movit_flip.cpp.o CMakeFiles/mltmovit.dir/filter_movit_glow.cpp.o CMakeFiles/mltmovit.dir/filter_movit_lift_gamma_gain.cpp.o CMakeFiles/mltmovit.dir/filter_movit_mirror.cpp.o CMakeFiles/mltmovit.dir/filter_movit_opacity.cpp.o CMakeFiles/mltmovit.dir/filter_movit_rect.cpp.o CMakeFiles/mltmovit.dir/filter_movit_resample.cpp.o CMakeFiles/mltmovit.dir/filter_movit_resize.cpp.o CMakeFiles/mltmovit.dir/filter_movit_saturation.cpp.o CMakeFiles/mltmovit.dir/filter_movit_vignette.cpp.o CMakeFiles/mltmovit.dir/filter_movit_white_balance.cpp.o CMakeFiles/mltmovit.dir/mlt_movit_input.cpp.o CMakeFiles/mltmovit.dir/transition_movit_luma.cpp.o CMakeFiles/mltmovit.dir/transition_movit_mix.cpp.o CMakeFiles/mltmovit.dir/transition_movit_overlay.cpp.o CMakeFiles/mltmovit.dir/consumer_xgl.c.o -Wl,-rpath,/build/mlt-7.20.0/obj-x86_64-linux-gnu/out/lib: -lm ../../../out/lib/libmlt++-7.so.7.20.0 /usr/lib/x86_64-linux-gnu/libX11.so ../../../out/lib/libmlt-7.so.7.20.0 /usr/lib/x86_64-linux-gnu/libGLX.so /usr/lib/x86_64-linux-gnu/libOpenGL.so /usr/lib/x86_64-linux-gnu/libmovit.so /usr/lib/x86_64-linux-gnu/libepoxy.so make[3]: Leaving directory '/build/mlt-7.20.0/obj-x86_64-linux-gnu' [ 57%] Built target mltmovit make[2]: Leaving directory '/build/mlt-7.20.0/obj-x86_64-linux-gnu' make[1]: *** [Makefile:139: all] Error 2 make[1]: Leaving directory '/build/mlt-7.20.0/obj-x86_64-linux-gnu' dh_auto_build: error: cd obj-x86_64-linux-gnu && make -j2 "INSTALL=install --strip-program=true" VERBOSE=1 returned exit code 2 make: *** [debian/rules:11: binary] Error 2 dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2 A better fix would be welcome :) -------- Weitergeleitete Nachricht -------- Betreff: Bug#1051570: mlt: FTBFS with RtAudio 6 Weitersenden-Datum: Sat, 09 Sep 2023 21:15:01 +0000 Weitersenden-Von: IOhannes m zmoelnig <uml...@de...> Weitersenden-An: deb...@li... Weitersenden-CC: Patrick Matthäi <pma...@de...> Datum: Sat, 09 Sep 2023 23:10:59 +0200 Von: IOhannes m zmoelnig <uml...@de...> Antwort an: IOhannes m zmoelnig <uml...@de...>, 10...@bu... An: Debian Bug Tracking System <su...@bu...> Source: mlt Version: 7.18.0-2 Severity: serious Tags: ftbfs patch Justification: fails to build from source (but built successfully in the past) Dear Maintainer, mlt ftbfs with RtAudio 6 (currently in experimental). ``` [ 89%] Building CXX object src/modules/rtaudio/CMakeFiles/mltrtaudio.dir/consumer_rtaudio.cpp.o cd /build/mlt-zme0kO/mlt-7.18.0/obj-x86_64-linux-gnu/src/modules/rtaudio && /usr/lib/ccache/c++ -Dmltrtaudio_EXPORTS -I/build/mlt-zme0kO/mlt-7.18.0/src/framework/.. -isystem /usr/include/rtaudio -g -O2 -ffile-prefix-map=/build/mlt-zme0kO/mlt-7.18.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -std=c++14 -fPIC -mmmx -msse -msse2 -pthread -D__LINUX_ALSA__ -D__LINUX_PULSE__ -D__UNIX_JACK__ -D_REENTRANT -MD -MT src/modules/rtaudio/CMakeFiles/mltrtaudio.dir/consumer_rtaudio.cpp.o -MF CMakeFiles/mltrtaudio.dir/consumer_rtaudio.cpp.o.d -o CMakeFiles/mltrtaudio.dir/consumer_rtaudio.cpp.o -c /build/mlt-zme0kO/mlt-7.18.0/src/modules/rtaudio/consumer_rtaudio.cpp /build/mlt-zme0kO/mlt-7.18.0/src/modules/rtaudio/consumer_rtaudio.cpp: In member function ‘bool RtAudioConsumer::create_rtaudio(RtAudio::Api, int, int)’: /build/mlt-zme0kO/mlt-7.18.0/src/modules/rtaudio/consumer_rtaudio.cpp:164:26: error: ‘struct RtAudio::DeviceInfo’ has no member named ‘probed’ 164 | if (info.probed && info.name == resource) { | ^~~~~~ /build/mlt-zme0kO/mlt-7.18.0/src/modules/rtaudio/consumer_rtaudio.cpp:212:16: error: ‘RtAudioError’ does not name a type; did you mean ‘RtAudioErrorType’? 212 | catch (RtAudioError &e) { | ^~~~~~~~~~~~ | RtAudioErrorType In file included from /build/mlt-zme0kO/mlt-7.18.0/src/framework/../framework/mlt.h:50, from /build/mlt-zme0kO/mlt-7.18.0/src/modules/rtaudio/consumer_rtaudio.cpp:20: /build/mlt-zme0kO/mlt-7.18.0/src/modules/rtaudio/consumer_rtaudio.cpp:214:49: error: ‘e’ was not declared in this scope 214 | mlt_log_info(getConsumer(), "%s\n", e.getMessage().c_str()); | ^ /build/mlt-zme0kO/mlt-7.18.0/src/framework/../framework/mlt_log.h:88:93: note: in definition of macro ‘mlt_log_info’ 88 | #define mlt_log_info(service, format, args...) mlt_log((service), MLT_LOG_INFO, (format), ##args) | ^~~~ /build/mlt-zme0kO/mlt-7.18.0/src/modules/rtaudio/consumer_rtaudio.cpp: In member function ‘int RtAudioConsumer::stop()’: /build/mlt-zme0kO/mlt-7.18.0/src/modules/rtaudio/consumer_rtaudio.cpp:365:24: error: ‘RtAudioError’ does not name a type; did you mean ‘RtAudioErrorType’? 365 | catch (RtAudioError &e) { | ^~~~~~~~~~~~ | RtAudioErrorType /build/mlt-zme0kO/mlt-7.18.0/src/modules/rtaudio/consumer_rtaudio.cpp:367:58: error: ‘e’ was not declared in this scope 367 | mlt_log_error(getConsumer(), "%s\n", e.getMessage().c_str()); | ^ /build/mlt-zme0kO/mlt-7.18.0/src/framework/../framework/mlt_log.h:85:95: note: in definition of macro ‘mlt_log_error’ 85 | #define mlt_log_error(service, format, args...) mlt_log((service), MLT_LOG_ERROR, (format), ##args) | ^~~~ make[2]: *** [src/modules/rtaudio/CMakeFiles/mltrtaudio.dir/build.make:79: src/modules/rtaudio/CMakeFiles/mltrtaudio.dir/consumer_rtaudio.cpp.o] Error 1 make[2]: Target 'src/modules/rtaudio/CMakeFiles/mltrtaudio.dir/build' not remade because of errors. make[2]: Leaving directory '/build/mlt-zme0kO/mlt-7.18.0/obj-x86_64-linux-gnu' ``` Attached is a patch that fixes the FTBFS (but is otherwise untested). No debdiff this time, sorry. cheers. |
From: Iza i T. <iza...@gm...> - 2023-09-25 04:47:12
|
1) Thanks for your answer! It works like a charm. All I knew before were two commands: $ melt file.xml and $ melt file.xml -consumer avformat:file.mp4 frame_rate_num=30 frame_rate_den=1 ... 2) Perhaps I should introduce myself. I'm Tomek, and I'm a geek. I find melt MUCH better, than any GUI-based app I have worked with so far (Flowblade, OpenShot, and even one commercial app). BTW, I came to MLT from Flowblade. I tweaked it a little, but in the end I found it too much of a burden, since... I'm MUCH more comfortable with text files, than with any GUI. I have control over each frame now. I'm even able to cut my audio properly, using frame numbers. ...and I'm not even fond of XML (I prefer Yaml). There are tasks, which are easier with GUI (like adding new resources to the project), but they are mostly performed only once. I find edition much easier and way more precise with text files. |
From: Dan D. <dde...@gm...> - 2023-09-24 18:07:14
|
On Sun, Sep 24, 2023 at 10:59 AM Iza i Tomek <iza...@gm...> wrote: > Is it possible to force a particular framerate for sdl consumer? > Yes, using consumer properties https://www.mltframework.org/doxygen/properties.html or a profile https://mltframework.org/docs/profiles/ > > My original problem is: I have an XML file (MLT) to render by ffmpeg, > using 30fps. All times are specified in frame numbers, so they depend > on the framerate. > How did you specify the frame rate in XML? It should be specified, or you are relying on some default or some attempt to guess it. The way you specify is the same as the answer above. > The SDL consumer uses a lower framerate (25? I'm not > The default profile is 25 fps. > sure), so my audio is out of sync with my video. (Video is made mostly > from PNGs). As a result, the SDL consumer is useless. > MLT, including melt, is primarily for developers. Maybe you will find one of the GUI editing apps more useful. |
From: Iza i T. <iza...@gm...> - 2023-09-23 02:41:32
|
Is it possible to force a particular framerate for sdl consumer? My original problem is: I have an XML file (MLT) to render by ffmpeg, using 30fps. All times are specified in frame numbers, so they depend on the framerate. The SDL consumer uses a lower framerate (25? I'm not sure), so my audio is out of sync with my video. (Video is made mostly from PNGs). As a result, the SDL consumer is useless. |
From: Dan D. <dde...@gm...> - 2023-07-25 16:09:54
|
On Tue, Jul 25, 2023 at 9:05 AM Patrick Matthäi via Mlt-devel < mlt...@li...> wrote: > Hey, > is this known, that there are problems with ffmpeg 6.0? Looks more like > something with the Python module does not work then > > MLT v7.6 or later is required for FFmpeg 6. Otherwise, no, it has been working fine. > > -------- Weitergeleitete Nachricht -------- > Betreff: Bug#1041664: mlt: FTBFS with ffmpeg 6.0 > Weitersenden-Datum: Fri, 21 Jul 2023 19:21:01 +0000 > Weitersenden-Von: Sebastian Ramacher <sra...@de...> > <sra...@de...> > Weitersenden-An: deb...@li... > Weitersenden-CC: sra...@de..., Patrick Matthäi > <pma...@de...> <pma...@de...> > Datum: Fri, 21 Jul 2023 21:16:51 +0200 > Von: Sebastian Ramacher <sra...@de...> <sra...@de...> > Antwort an: Sebastian Ramacher <sra...@de...> > <sra...@de...>, 10...@bu... > An: Debian Bug Tracking System <su...@bu...> > <su...@bu...> > > Source: mlt > Version: 7.16.0-1 > Severity: important > Tags: ftbfs sid trixie > X-Debbugs-Cc: sra...@de... > > mlt FTBFS with ffmpeg 6.0 (available in experimental): > > make[1]: Entering directory '/<<PKGBUILDDIR>>' > chrpath -d -k /<<PKGBUILDDIR>>/debian/tmp/usr/bin/melt-7 > dh_install > dh_install: warning: Cannot find (any matches for) > "usr/lib/python3/dist-packages/*" (tried in ., debian/tmp) > > dh_install: warning: python3-mlt missing files: > usr/lib/python3/dist-packages/* > dh_install: error: missing files, aborting > make[1]: *** [debian/rules:15: override_dh_install] Error 25 > > The full build log is attached. > > Cheers > > -- > Sebastian Ramacher > > > _______________________________________________ > Mlt-devel mailing list > Mlt...@li... > https://lists.sourceforge.net/lists/listinfo/mlt-devel > |
From: Patrick M. <pa...@li...> - 2023-07-25 13:38:13
|
Hey, is this known, that there are problems with ffmpeg 6.0? Looks more like something with the Python module does not work then -------- Weitergeleitete Nachricht -------- Betreff: Bug#1041664: mlt: FTBFS with ffmpeg 6.0 Weitersenden-Datum: Fri, 21 Jul 2023 19:21:01 +0000 Weitersenden-Von: Sebastian Ramacher <sra...@de...> Weitersenden-An: deb...@li... Weitersenden-CC: sra...@de..., Patrick Matthäi <pma...@de...> Datum: Fri, 21 Jul 2023 21:16:51 +0200 Von: Sebastian Ramacher <sra...@de...> Antwort an: Sebastian Ramacher <sra...@de...>, 10...@bu... An: Debian Bug Tracking System <su...@bu...> Source: mlt Version: 7.16.0-1 Severity: important Tags: ftbfs sid trixie X-Debbugs-Cc: sra...@de... mlt FTBFS with ffmpeg 6.0 (available in experimental): make[1]: Entering directory '/<<PKGBUILDDIR>>' chrpath -d -k /<<PKGBUILDDIR>>/debian/tmp/usr/bin/melt-7 dh_install dh_install: warning: Cannot find (any matches for) "usr/lib/python3/dist-packages/*" (tried in ., debian/tmp) dh_install: warning: python3-mlt missing files: usr/lib/python3/dist-packages/* dh_install: error: missing files, aborting make[1]: *** [debian/rules:15: override_dh_install] Error 25 The full build log is attached. Cheers -- Sebastian Ramacher |
From: Rickard L. <ri...@ri...> - 2023-07-25 10:16:39
|
On Mon, Jul 24, 2023, at 20:33, Dan Dennedy wrote: > "transparent" is not a valid color name: See https://mltframework.org/plugins/ProducerColor/ > It just so happens to work though since it tries to convert the string to an int resulting in 0, which is equivalent. Ah, I see, thanks for the clarification. > The higher order track gets priority when using multitrack, and there is no automatic blending or mixing of audio. > But the workaround does not need to be so heavy as to require blending with transparent. Why does Flowblade, Shotcut, and Kdenlive not suffer from this problem? I am quite certain this used to work in melt without multiple tracks - probably before the audio pipeline became more powerful and flexible. These apps automatically add track mixers and include a hidden, silent, black track: > melt -track color out=75 -track color:red in=0 out=25 -blank 25 color:blue in=0 out=25 -transition mix -consumer avformat:test.mp4 I can see how using blanks mixed with a silent black track would also work fine. > Now, how can it work without that? The default sample format in MLT is signed 16-bit (as produced in mlt_frame_get_audio() for frames with dummy audio). However, avformat consumer tries to render using the selected codec's default sample format (at some point it did not). The implied codec of test.mp4 is aac, which is float (mlt_audio_f32le). If we instead change the audio codec to pcm_s16le and the filename extension to .mov (pcm is not supported in MP4 by standards and ffmpeg), then it succeeds: > melt color:red in=0 out=25 -blank 25 color:blue in=0 out=25 -consumer avformat:test.mov acodec=pcm_s16le > > In any case, if you play this back you see white frames in between the colors red and blue. That brings up another point: is that what you expect in "blank?" In MLT the dummy image for frames is solid white. This was chosen to facilitate troubleshooting because it should be generally avoided, and black is too easily overlooked. That is why most MLT apps are mixing with a silent black track - to explicitly give users black when they expect it. Yeah, mixing with a black track seems to be preferred. > I found you are working on your own new video editor <https://rickardlindberg.me/writing/writing-my-own-video-editor/>. You are free to do whatever you want, but I do encourage you to work with one of the existing projects. I do not want to speak for Brian, but he and I make Shotcut. Good to know. Right now I'm also working on my own project because I think it is fun. It might not end up being something usable, and then I will probably still use Kdenlive for my video projects. We'll see. /Rickard |
From: Dan D. <dde...@gm...> - 2023-07-24 18:33:32
|
"transparent" is not a valid color name: See https://mltframework.org/plugins/ProducerColor/ It just so happens to work though since it tries to convert the string to an int resulting in 0, which is equivalent. The higher order track gets priority when using multitrack, and there is no automatic blending or mixing of audio. But the workaround does not need to be so heavy as to require blending with transparent. Why does Flowblade, Shotcut, and Kdenlive not suffer from this problem? I am quite certain this used to work in melt without multiple tracks - probably before the audio pipeline became more powerful and flexible. These apps automatically add track mixers and include a hidden, silent, black track: melt -track color out=75 -track color:red in=0 out=25 -blank 25 color:blue in=0 out=25 -transition mix -consumer avformat:test.mp4 Now, how can it work without that? The default sample format in MLT is signed 16-bit (as produced in mlt_frame_get_audio() for frames with dummy audio). However, avformat consumer tries to render using the selected codec's default sample format (at some point it did not). The implied codec of test.mp4 is aac, which is float (mlt_audio_f32le). If we instead change the audio codec to pcm_s16le and the filename extension to .mov (pcm is not supported in MP4 by standards and ffmpeg), then it succeeds: melt color:red in=0 out=25 -blank 25 color:blue in=0 out=25 -consumer avformat:test.mov acodec=pcm_s16le In any case, if you play this back you see white frames in between the colors red and blue. That brings up another point: is that what you expect in "blank?" In MLT the dummy image for frames is solid white. This was chosen to facilitate troubleshooting because it should be generally avoided, and black is too easily overlooked. That is why most MLT apps are mixing with a silent black track - to explicitly give users black when they expect it. I found you are working on your own new video editor <https://rickardlindberg.me/writing/writing-my-own-video-editor/>. You are free to do whatever you want, but I do encourage you to work with one of the existing projects. I do not want to speak for Brian, but he and I make Shotcut. On Mon, Jul 24, 2023 at 4:02 AM Brian Matherly via Mlt-devel < mlt...@li...> wrote: > Yeah. That is a good point. You would need to add a transition so that the > transparent is blended with the red. I guess it is not a perfect work > around. > > ~Brian > > > On Monday, July 24, 2023 at 12:17:45 AM CDT, Rickard Lindberg < > ri...@ri...> wrote: > > > Hmm. > > Do I need to add some kind of transition for the transparent color to have > any effect? > > I expected both of these to generate 100 (or 101?) red frames: > > $ mlt-melt -track color:red in=0 out=100 -track color:transparent in=0 > out=100 > $ mlt-melt -track color:transparent in=0 out=100 -track color:red in=0 > out=100 > > But the first one only shows black frames for me. > > /Rickard > > On Mon, Jul 24, 2023, at 06:48, Rickard Lindberg wrote: > > Thanks for your support! This workaround works fine for me. > > /Rickard > > On Sun, Jul 23, 2023, at 00:22, Brian Matherly wrote: > > > > mlt-melt color:red in=0 out=25 -blank 25 color:blue in=0 out=25 > -consumer avformat target=/tmp/export.mp4 > > Thanks for the example command. I reproduce this and I confirm it is a > bug. I have filed it here: > https://github.com/mltframework/mlt/issues/931 > > As a workaround, you can use transparent clips instead of blank: > mlt-melt color:red in=0 out=25 color:transparent in=0 out=25 color:blue > in=0 out=25 -consumer avformat target=/tmp/export.mp4 > > ~Brian > > > On Friday, July 21, 2023 at 04:30:59 AM CDT, Rickard Lindberg < > ri...@ri...> wrote: > > > I managed to reproduce the problem with melt: > > $ mlt-melt color:red in=0 out=25 -blank 25 color:blue in=0 out=25 > -consumer avformat target=/tmp/export.mp4 > +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ > |1=-10| |2= -5| |3= -2| |4= -1| |5= 0| |6= 1| |7= 2| |8= 5| |9= 10| > +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ > +---------------------------------------------------------------------+ > | H = back 1 minute, L = forward 1 minute | > | h = previous frame, l = next frame | > | g = start of clip, j = next clip, k = previous clip | > | 0 = restart, q = quit, space = play | > +---------------------------------------------------------------------+ > [libx264 @ 0x7fe9d80023c0] interlace + weightp is not implemented > [mp4 @ 0x7fe9d8000f40] Using AVStream.codec to pass codec parameters to > muxers is deprecated, use AVStream.codecpar instead. > [mp4 @ 0x7fe9d8000f40] Using AVStream.codec to pass codec parameters to > muxers is deprecated, use AVStream.codecpar instead. > [aac @ 0x7fe9d8004e40] Input contains (near) NaN/+-Inf > [consumer avformat] error with audio encode: -22 (frame 28) > [aac @ 0x7fe9d8004e40] Input contains (near) NaN/+-Inf > [consumer avformat] error with audio encode: -22 (frame 28) > [aac @ 0x7fe9d8004e40] Input contains (near) NaN/+-Inf > [consumer avformat] error with audio encode: -22 (frame 29) > [aac @ 0x7fe9d8004e40] 5 frames left in the queue on closing > Current Position: 28 > > /Rickard > > On Fri, Jul 21, 2023, at 10:44, Rickard Lindberg wrote: > > If I attach the audioconvert filter like this, the export works: > > playlist.attach(mlt.Filter(profile, "audioconvert")) > > When loading the xml, this filter seems to be attached automatically, > along with avcolor_space. But it is not set for the playlist that I create. > > Should I wrap my playlist in something so that the loader can do its > thing? Or should I add these filters manually? > > /Rickard > > > On Thu, Jul 20, 2023, at 22:19, Rickard Lindberg wrote: > > I tried to generate an XML file using the "xml" consumer and got this: > > <?xml version="1.0"?> > <mlt LC_NUMERIC="C" version="6.26.1" producer="playlist0"> > <profile description="DV/DVD PAL" width="720" height="576" > progressive="0" sample_aspect_num="16" sample_aspect_den="15" > display_aspect_num="4" display_aspect_den="3" frame_rate_num="25" > frame_rate_den="1" colorspace="601"/> > <producer id="producer0" in="0" out="14999"> > <property name="length">15000</property> > <property name="eof">pause</property> > <property name="resource">red</property> > <property name="aspect_ratio">1.06667</property> > <property name="mlt_service">color</property> > </producer> > <producer id="producer1" in="0" out="14999"> > <property name="length">15000</property> > <property name="eof">pause</property> > <property name="resource">green</property> > <property name="aspect_ratio">1.06667</property> > <property name="mlt_service">color</property> > </producer> > <playlist id="playlist0"> > <entry producer="producer0" in="0" out="25"/> > <blank length="26"/> > <entry producer="producer1" in="0" out="25"/> > </playlist> > </mlt> > > Melt seems to be able to render this just fine using > > mlt-melt test.xml -consumer avformat target=export.mp4 acodec=aac > > So my guess is that I need to do something different in my code. Question > is what... > > /Rickard > > On Thu, Jul 20, 2023, at 22:16, Brian Matherly wrote: > > > Your MLT is over 2 years old. Can you try with a newer version? > > Also, it would be helpful to reproduce with a melt command so that others > can easily recreate the problem. > > ~Brian > > > On Thursday, July 20, 2023 at 03:00:45 PM CDT, Rickard Lindberg < > ri...@ri...> wrote: > > > Hi, > > I'm having trouble exporting a playlist that contains blanks. Here is a > small > program to reproduce the problem: > > mlt.Factory().init() > profile = mlt.Profile() > playlist = mlt.Playlist() > playlist.append(mlt.Producer(profile, "color:red"), 0, 25) > playlist.blank(25) > playlist.append(mlt.Producer(profile, "color:green"), 0, 25) > consumer = mlt.Consumer(profile, "avformat") > consumer.set("target", "export.mp4") > consumer.connect(playlist) > consumer.start() > while consumer.is_stopped() == 0: > time.sleep(1) > > The output: > > [libx264 @ 0x7f61740023c0] interlace + weightp is not implemented > [mp4 @ 0x7f6174000f40] Using AVStream.codec to pass codec parameters > to muxers is deprecated, use AVStream.codecpar instead. > [mp4 @ 0x7f6174000f40] Using AVStream.codec to pass codec parameters > to muxers is deprecated, use AVStream.codecpar instead. > [aac @ 0x7f6174004e40] Input contains (near) NaN/+-Inf > [consumer avformat] error with audio encode: -22 (frame 28) > [aac @ 0x7f6174004e40] Input contains (near) NaN/+-Inf > [consumer avformat] error with audio encode: -22 (frame 28) > [aac @ 0x7f6174004e40] Input contains (near) NaN/+-Inf > [consumer avformat] error with audio encode: -22 (frame 29) > [aac @ 0x7f6174004e40] 5 frames left in the queue on closing > > Without > > playlist.blank(25) > > the export works fine. > > I assumed that if no producer exist to produce sound, silence will be > used. Is > that assumption wrong? Do I need to insert a producer for silence? Or is > this > an issue with the aac encoder? > > Versions: > > mlt: 6.26.1 > ffmpeg: 4.4.1 > > /Rickard > > _______________________________________________ > Mlt-devel mailing list > Mlt...@li... > https://lists.sourceforge.net/lists/listinfo/mlt-devel > > > > _______________________________________________ > Mlt-devel mailing list > Mlt...@li... > https://lists.sourceforge.net/lists/listinfo/mlt-devel > > > > _______________________________________________ > Mlt-devel mailing list > Mlt...@li... > https://lists.sourceforge.net/lists/listinfo/mlt-devel > > > > > _______________________________________________ > Mlt-devel mailing list > Mlt...@li... > https://lists.sourceforge.net/lists/listinfo/mlt-devel > > > _______________________________________________ > Mlt-devel mailing list > Mlt...@li... > https://lists.sourceforge.net/lists/listinfo/mlt-devel > |
From: Brian M. <bri...@ya...> - 2023-07-24 11:02:27
|
Yeah. That is a good point. You would need to add a transition so that the transparent is blended with the red. I guess it is not a perfect work around. ~Brian On Monday, July 24, 2023 at 12:17:45 AM CDT, Rickard Lindberg <ri...@ri...> wrote: Hmm. Do I need to add some kind of transition for the transparent color to have any effect? I expected both of these to generate 100 (or 101?) red frames: $ mlt-melt -track color:red in=0 out=100 -track color:transparent in=0 out=100 $ mlt-melt -track color:transparent in=0 out=100 -track color:red in=0 out=100 But the first one only shows black frames for me. /Rickard On Mon, Jul 24, 2023, at 06:48, Rickard Lindberg wrote: Thanks for your support! This workaround works fine for me. /Rickard On Sun, Jul 23, 2023, at 00:22, Brian Matherly wrote: > mlt-melt color:red in=0 out=25 -blank 25 color:blue in=0 out=25 -consumer avformat target=/tmp/export.mp4 Thanks for the example command. I reproduce this and I confirm it is a bug. I have filed it here: https://github.com/mltframework/mlt/issues/931 As a workaround, you can use transparent clips instead of blank: mlt-melt color:red in=0 out=25 color:transparent in=0 out=25 color:blue in=0 out=25 -consumer avformat target=/tmp/export.mp4 ~Brian On Friday, July 21, 2023 at 04:30:59 AM CDT, Rickard Lindberg <ri...@ri...> wrote: I managed to reproduce the problem with melt: $ mlt-melt color:red in=0 out=25 -blank 25 color:blue in=0 out=25 -consumer avformat target=/tmp/export.mp4 +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ |1=-10| |2= -5| |3= -2| |4= -1| |5= 0| |6= 1| |7= 2| |8= 5| |9= 10| +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +---------------------------------------------------------------------+ | H = back 1 minute, L = forward 1 minute | | h = previous frame, l = next frame | | g = start of clip, j = next clip, k = previous clip | | 0 = restart, q = quit, space = play | +---------------------------------------------------------------------+ [libx264 @ 0x7fe9d80023c0] interlace + weightp is not implemented [mp4 @ 0x7fe9d8000f40] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead. [mp4 @ 0x7fe9d8000f40] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead. [aac @ 0x7fe9d8004e40] Input contains (near) NaN/+-Inf [consumer avformat] error with audio encode: -22 (frame 28) [aac @ 0x7fe9d8004e40] Input contains (near) NaN/+-Inf [consumer avformat] error with audio encode: -22 (frame 28) [aac @ 0x7fe9d8004e40] Input contains (near) NaN/+-Inf [consumer avformat] error with audio encode: -22 (frame 29) [aac @ 0x7fe9d8004e40] 5 frames left in the queue on closing Current Position: 28 /Rickard On Fri, Jul 21, 2023, at 10:44, Rickard Lindberg wrote: If I attach the audioconvert filter like this, the export works: playlist.attach(mlt.Filter(profile, "audioconvert")) When loading the xml, this filter seems to be attached automatically, along with avcolor_space. But it is not set for the playlist that I create. Should I wrap my playlist in something so that the loader can do its thing? Or should I add these filters manually? /Rickard On Thu, Jul 20, 2023, at 22:19, Rickard Lindberg wrote: I tried to generate an XML file using the "xml" consumer and got this: <?xml version="1.0"?> <mlt LC_NUMERIC="C" version="6.26.1" producer="playlist0"> <profile description="DV/DVD PAL" width="720" height="576" progressive="0" sample_aspect_num="16" sample_aspect_den="15" display_aspect_num="4" display_aspect_den="3" frame_rate_num="25" frame_rate_den="1" colorspace="601"/> <producer id="producer0" in="0" out="14999"> <property name="length">15000</property> <property name="eof">pause</property> <property name="resource">red</property> <property name="aspect_ratio">1.06667</property> <property name="mlt_service">color</property> </producer> <producer id="producer1" in="0" out="14999"> <property name="length">15000</property> <property name="eof">pause</property> <property name="resource">green</property> <property name="aspect_ratio">1.06667</property> <property name="mlt_service">color</property> </producer> <playlist id="playlist0"> <entry producer="producer0" in="0" out="25"/> <blank length="26"/> <entry producer="producer1" in="0" out="25"/> </playlist> </mlt> Melt seems to be able to render this just fine using mlt-melt test.xml -consumer avformat target=export.mp4 acodec=aac So my guess is that I need to do something different in my code. Question is what... /Rickard On Thu, Jul 20, 2023, at 22:16, Brian Matherly wrote: Your MLT is over 2 years old. Can you try with a newer version? Also, it would be helpful to reproduce with a melt command so that others can easily recreate the problem. ~Brian On Thursday, July 20, 2023 at 03:00:45 PM CDT, Rickard Lindberg <ri...@ri...> wrote: Hi, I'm having trouble exporting a playlist that contains blanks. Here is a small program to reproduce the problem: mlt.Factory().init() profile = mlt.Profile() playlist = mlt.Playlist() playlist.append(mlt.Producer(profile, "color:red"), 0, 25) playlist.blank(25) playlist.append(mlt.Producer(profile, "color:green"), 0, 25) consumer = mlt.Consumer(profile, "avformat") consumer.set("target", "export.mp4") consumer.connect(playlist) consumer.start() while consumer.is_stopped() == 0: time.sleep(1) The output: [libx264 @ 0x7f61740023c0] interlace + weightp is not implemented [mp4 @ 0x7f6174000f40] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead. [mp4 @ 0x7f6174000f40] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead. [aac @ 0x7f6174004e40] Input contains (near) NaN/+-Inf [consumer avformat] error with audio encode: -22 (frame 28) [aac @ 0x7f6174004e40] Input contains (near) NaN/+-Inf [consumer avformat] error with audio encode: -22 (frame 28) [aac @ 0x7f6174004e40] Input contains (near) NaN/+-Inf [consumer avformat] error with audio encode: -22 (frame 29) [aac @ 0x7f6174004e40] 5 frames left in the queue on closing Without playlist.blank(25) the export works fine. I assumed that if no producer exist to produce sound, silence will be used. Is that assumption wrong? Do I need to insert a producer for silence? Or is this an issue with the aac encoder? Versions: mlt: 6.26.1 ffmpeg: 4.4.1 /Rickard _______________________________________________ Mlt-devel mailing list Mlt...@li... https://lists.sourceforge.net/lists/listinfo/mlt-devel _______________________________________________ Mlt-devel mailing list Mlt...@li... https://lists.sourceforge.net/lists/listinfo/mlt-devel _______________________________________________ Mlt-devel mailing list Mlt...@li... https://lists.sourceforge.net/lists/listinfo/mlt-devel _______________________________________________ Mlt-devel mailing list Mlt...@li... https://lists.sourceforge.net/lists/listinfo/mlt-devel |
From: Rickard L. <ri...@ri...> - 2023-07-24 05:17:53
|
Hmm. Do I need to add some kind of transition for the transparent color to have any effect? I expected both of these to generate 100 (or 101?) red frames: $ mlt-melt -track color:red in=0 out=100 -track color:transparent in=0 out=100 $ mlt-melt -track color:transparent in=0 out=100 -track color:red in=0 out=100 But the first one only shows black frames for me. /Rickard On Mon, Jul 24, 2023, at 06:48, Rickard Lindberg wrote: > Thanks for your support! This workaround works fine for me. > > /Rickard > > On Sun, Jul 23, 2023, at 00:22, Brian Matherly wrote: >> >> > mlt-melt color:red in=0 out=25 -blank 25 color:blue in=0 out=25 -consumer avformat target=/tmp/export.mp4 >> >> Thanks for the example command. I reproduce this and I confirm it is a bug. I have filed it here: >> https://github.com/mltframework/mlt/issues/931 >> >> As a workaround, you can use transparent clips instead of blank: >> mlt-melt color:red in=0 out=25 color:transparent in=0 out=25 color:blue in=0 out=25 -consumer avformat target=/tmp/export.mp4 >> >> ~Brian >> >> >> On Friday, July 21, 2023 at 04:30:59 AM CDT, Rickard Lindberg <ri...@ri...> wrote: >> >> >> I managed to reproduce the problem with melt: >> >> $ mlt-melt color:red in=0 out=25 -blank 25 color:blue in=0 out=25 -consumer avformat target=/tmp/export.mp4 >> +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ >> |1=-10| |2= -5| |3= -2| |4= -1| |5= 0| |6= 1| |7= 2| |8= 5| |9= 10| >> +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ >> +---------------------------------------------------------------------+ >> | H = back 1 minute, L = forward 1 minute | >> | h = previous frame, l = next frame | >> | g = start of clip, j = next clip, k = previous clip | >> | 0 = restart, q = quit, space = play | >> +---------------------------------------------------------------------+ >> [libx264 @ 0x7fe9d80023c0] interlace + weightp is not implemented >> [mp4 @ 0x7fe9d8000f40] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead. >> [mp4 @ 0x7fe9d8000f40] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead. >> [aac @ 0x7fe9d8004e40] Input contains (near) NaN/+-Inf >> [consumer avformat] error with audio encode: -22 (frame 28) >> [aac @ 0x7fe9d8004e40] Input contains (near) NaN/+-Inf >> [consumer avformat] error with audio encode: -22 (frame 28) >> [aac @ 0x7fe9d8004e40] Input contains (near) NaN/+-Inf >> [consumer avformat] error with audio encode: -22 (frame 29) >> [aac @ 0x7fe9d8004e40] 5 frames left in the queue on closing >> Current Position: 28 >> >> /Rickard >> >> On Fri, Jul 21, 2023, at 10:44, Rickard Lindberg wrote: >>> If I attach the audioconvert filter like this, the export works: >>> >>> playlist.attach(mlt.Filter(profile, "audioconvert")) >>> >>> When loading the xml, this filter seems to be attached automatically, along with avcolor_space. But it is not set for the playlist that I create. >>> >>> Should I wrap my playlist in something so that the loader can do its thing? Or should I add these filters manually? >>> >>> /Rickard >>> >>> >>> On Thu, Jul 20, 2023, at 22:19, Rickard Lindberg wrote: >>>> I tried to generate an XML file using the "xml" consumer and got this: >>>> >>>> <?xml version="1.0"?> >>>> <mlt LC_NUMERIC="C" version="6.26.1" producer="playlist0"> >>>> <profile description="DV/DVD PAL" width="720" height="576" progressive="0" sample_aspect_num="16" sample_aspect_den="15" display_aspect_num="4" display_aspect_den="3" frame_rate_num="25" frame_rate_den="1" colorspace="601"/> >>>> <producer id="producer0" in="0" out="14999"> >>>> <property name="length">15000</property> >>>> <property name="eof">pause</property> >>>> <property name="resource">red</property> >>>> <property name="aspect_ratio">1.06667</property> >>>> <property name="mlt_service">color</property> >>>> </producer> >>>> <producer id="producer1" in="0" out="14999"> >>>> <property name="length">15000</property> >>>> <property name="eof">pause</property> >>>> <property name="resource">green</property> >>>> <property name="aspect_ratio">1.06667</property> >>>> <property name="mlt_service">color</property> >>>> </producer> >>>> <playlist id="playlist0"> >>>> <entry producer="producer0" in="0" out="25"/> >>>> <blank length="26"/> >>>> <entry producer="producer1" in="0" out="25"/> >>>> </playlist> >>>> </mlt> >>>> >>>> Melt seems to be able to render this just fine using >>>> >>>> mlt-melt test.xml -consumer avformat target=export.mp4 acodec=aac >>>> >>>> So my guess is that I need to do something different in my code. Question is what... >>>> >>>> /Rickard >>>> >>>> On Thu, Jul 20, 2023, at 22:16, Brian Matherly wrote: >>>>> >>>>> Your MLT is over 2 years old. Can you try with a newer version? >>>>> >>>>> Also, it would be helpful to reproduce with a melt command so that others can easily recreate the problem. >>>>> >>>>> ~Brian >>>>> >>>>> >>>>> On Thursday, July 20, 2023 at 03:00:45 PM CDT, Rickard Lindberg <ri...@ri...> wrote: >>>>> >>>>> >>>>> Hi, >>>>> >>>>> I'm having trouble exporting a playlist that contains blanks. Here is a small >>>>> program to reproduce the problem: >>>>> >>>>> mlt.Factory().init() >>>>> profile = mlt.Profile() >>>>> playlist = mlt.Playlist() >>>>> playlist.append(mlt.Producer(profile, "color:red"), 0, 25) >>>>> playlist.blank(25) >>>>> playlist.append(mlt.Producer(profile, "color:green"), 0, 25) >>>>> consumer = mlt.Consumer(profile, "avformat") >>>>> consumer.set("target", "export.mp4") >>>>> consumer.connect(playlist) >>>>> consumer.start() >>>>> while consumer.is_stopped() == 0: >>>>> time.sleep(1) >>>>> >>>>> The output: >>>>> >>>>> [libx264 @ 0x7f61740023c0] interlace + weightp is not implemented >>>>> [mp4 @ 0x7f6174000f40] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead. >>>>> [mp4 @ 0x7f6174000f40] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead. >>>>> [aac @ 0x7f6174004e40] Input contains (near) NaN/+-Inf >>>>> [consumer avformat] error with audio encode: -22 (frame 28) >>>>> [aac @ 0x7f6174004e40] Input contains (near) NaN/+-Inf >>>>> [consumer avformat] error with audio encode: -22 (frame 28) >>>>> [aac @ 0x7f6174004e40] Input contains (near) NaN/+-Inf >>>>> [consumer avformat] error with audio encode: -22 (frame 29) >>>>> [aac @ 0x7f6174004e40] 5 frames left in the queue on closing >>>>> >>>>> Without >>>>> >>>>> playlist.blank(25) >>>>> >>>>> the export works fine. >>>>> >>>>> I assumed that if no producer exist to produce sound, silence will be used. Is >>>>> that assumption wrong? Do I need to insert a producer for silence? Or is this >>>>> an issue with the aac encoder? >>>>> >>>>> Versions: >>>>> >>>>> mlt: 6.26.1 >>>>> ffmpeg: 4.4.1 >>>>> >>>>> /Rickard >>>>> >>>>> _______________________________________________ >>>>> Mlt-devel mailing list >>>>> Mlt...@li... >>>>> https://lists.sourceforge.net/lists/listinfo/mlt-devel >>>> >>>> >>>> _______________________________________________ >>>> Mlt-devel mailing list >>>> Mlt...@li... >>>> https://lists.sourceforge.net/lists/listinfo/mlt-devel >>>> >>> >>> >>> _______________________________________________ >>> Mlt-devel mailing list >>> Mlt...@li... >>> https://lists.sourceforge.net/lists/listinfo/mlt-devel >>> >> > > > _______________________________________________ > Mlt-devel mailing list > Mlt...@li... > https://lists.sourceforge.net/lists/listinfo/mlt-devel > |
From: Rickard L. <ri...@ri...> - 2023-07-24 04:49:23
|
Thanks for your support! This workaround works fine for me. /Rickard On Sun, Jul 23, 2023, at 00:22, Brian Matherly wrote: > > > mlt-melt color:red in=0 out=25 -blank 25 color:blue in=0 out=25 -consumer avformat target=/tmp/export.mp4 > > Thanks for the example command. I reproduce this and I confirm it is a bug. I have filed it here: > https://github.com/mltframework/mlt/issues/931 > > As a workaround, you can use transparent clips instead of blank: > mlt-melt color:red in=0 out=25 color:transparent in=0 out=25 color:blue in=0 out=25 -consumer avformat target=/tmp/export.mp4 > > ~Brian > > > On Friday, July 21, 2023 at 04:30:59 AM CDT, Rickard Lindberg <ri...@ri...> wrote: > > > I managed to reproduce the problem with melt: > > $ mlt-melt color:red in=0 out=25 -blank 25 color:blue in=0 out=25 -consumer avformat target=/tmp/export.mp4 > +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ > |1=-10| |2= -5| |3= -2| |4= -1| |5= 0| |6= 1| |7= 2| |8= 5| |9= 10| > +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ > +---------------------------------------------------------------------+ > | H = back 1 minute, L = forward 1 minute | > | h = previous frame, l = next frame | > | g = start of clip, j = next clip, k = previous clip | > | 0 = restart, q = quit, space = play | > +---------------------------------------------------------------------+ > [libx264 @ 0x7fe9d80023c0] interlace + weightp is not implemented > [mp4 @ 0x7fe9d8000f40] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead. > [mp4 @ 0x7fe9d8000f40] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead. > [aac @ 0x7fe9d8004e40] Input contains (near) NaN/+-Inf > [consumer avformat] error with audio encode: -22 (frame 28) > [aac @ 0x7fe9d8004e40] Input contains (near) NaN/+-Inf > [consumer avformat] error with audio encode: -22 (frame 28) > [aac @ 0x7fe9d8004e40] Input contains (near) NaN/+-Inf > [consumer avformat] error with audio encode: -22 (frame 29) > [aac @ 0x7fe9d8004e40] 5 frames left in the queue on closing > Current Position: 28 > > /Rickard > > On Fri, Jul 21, 2023, at 10:44, Rickard Lindberg wrote: >> If I attach the audioconvert filter like this, the export works: >> >> playlist.attach(mlt.Filter(profile, "audioconvert")) >> >> When loading the xml, this filter seems to be attached automatically, along with avcolor_space. But it is not set for the playlist that I create. >> >> Should I wrap my playlist in something so that the loader can do its thing? Or should I add these filters manually? >> >> /Rickard >> >> >> On Thu, Jul 20, 2023, at 22:19, Rickard Lindberg wrote: >>> I tried to generate an XML file using the "xml" consumer and got this: >>> >>> <?xml version="1.0"?> >>> <mlt LC_NUMERIC="C" version="6.26.1" producer="playlist0"> >>> <profile description="DV/DVD PAL" width="720" height="576" progressive="0" sample_aspect_num="16" sample_aspect_den="15" display_aspect_num="4" display_aspect_den="3" frame_rate_num="25" frame_rate_den="1" colorspace="601"/> >>> <producer id="producer0" in="0" out="14999"> >>> <property name="length">15000</property> >>> <property name="eof">pause</property> >>> <property name="resource">red</property> >>> <property name="aspect_ratio">1.06667</property> >>> <property name="mlt_service">color</property> >>> </producer> >>> <producer id="producer1" in="0" out="14999"> >>> <property name="length">15000</property> >>> <property name="eof">pause</property> >>> <property name="resource">green</property> >>> <property name="aspect_ratio">1.06667</property> >>> <property name="mlt_service">color</property> >>> </producer> >>> <playlist id="playlist0"> >>> <entry producer="producer0" in="0" out="25"/> >>> <blank length="26"/> >>> <entry producer="producer1" in="0" out="25"/> >>> </playlist> >>> </mlt> >>> >>> Melt seems to be able to render this just fine using >>> >>> mlt-melt test.xml -consumer avformat target=export.mp4 acodec=aac >>> >>> So my guess is that I need to do something different in my code. Question is what... >>> >>> /Rickard >>> >>> On Thu, Jul 20, 2023, at 22:16, Brian Matherly wrote: >>>> >>>> Your MLT is over 2 years old. Can you try with a newer version? >>>> >>>> Also, it would be helpful to reproduce with a melt command so that others can easily recreate the problem. >>>> >>>> ~Brian >>>> >>>> >>>> On Thursday, July 20, 2023 at 03:00:45 PM CDT, Rickard Lindberg <ri...@ri...> wrote: >>>> >>>> >>>> Hi, >>>> >>>> I'm having trouble exporting a playlist that contains blanks. Here is a small >>>> program to reproduce the problem: >>>> >>>> mlt.Factory().init() >>>> profile = mlt.Profile() >>>> playlist = mlt.Playlist() >>>> playlist.append(mlt.Producer(profile, "color:red"), 0, 25) >>>> playlist.blank(25) >>>> playlist.append(mlt.Producer(profile, "color:green"), 0, 25) >>>> consumer = mlt.Consumer(profile, "avformat") >>>> consumer.set("target", "export.mp4") >>>> consumer.connect(playlist) >>>> consumer.start() >>>> while consumer.is_stopped() == 0: >>>> time.sleep(1) >>>> >>>> The output: >>>> >>>> [libx264 @ 0x7f61740023c0] interlace + weightp is not implemented >>>> [mp4 @ 0x7f6174000f40] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead. >>>> [mp4 @ 0x7f6174000f40] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead. >>>> [aac @ 0x7f6174004e40] Input contains (near) NaN/+-Inf >>>> [consumer avformat] error with audio encode: -22 (frame 28) >>>> [aac @ 0x7f6174004e40] Input contains (near) NaN/+-Inf >>>> [consumer avformat] error with audio encode: -22 (frame 28) >>>> [aac @ 0x7f6174004e40] Input contains (near) NaN/+-Inf >>>> [consumer avformat] error with audio encode: -22 (frame 29) >>>> [aac @ 0x7f6174004e40] 5 frames left in the queue on closing >>>> >>>> Without >>>> >>>> playlist.blank(25) >>>> >>>> the export works fine. >>>> >>>> I assumed that if no producer exist to produce sound, silence will be used. Is >>>> that assumption wrong? Do I need to insert a producer for silence? Or is this >>>> an issue with the aac encoder? >>>> >>>> Versions: >>>> >>>> mlt: 6.26.1 >>>> ffmpeg: 4.4.1 >>>> >>>> /Rickard >>>> >>>> _______________________________________________ >>>> Mlt-devel mailing list >>>> Mlt...@li... >>>> https://lists.sourceforge.net/lists/listinfo/mlt-devel >>> >>> >>> _______________________________________________ >>> Mlt-devel mailing list >>> Mlt...@li... >>> https://lists.sourceforge.net/lists/listinfo/mlt-devel >>> >> >> >> _______________________________________________ >> Mlt-devel mailing list >> Mlt...@li... >> https://lists.sourceforge.net/lists/listinfo/mlt-devel >> > |
From: Brian M. <bri...@ya...> - 2023-07-22 22:23:02
|
> mlt-melt color:red in=0 out=25 -blank 25 color:blue in=0 out=25 -consumer avformat target=/tmp/export.mp4 Thanks for the example command. I reproduce this and I confirm it is a bug. I have filed it here:https://github.com/mltframework/mlt/issues/931 As a workaround, you can use transparent clips instead of blank:mlt-melt color:red in=0 out=25 color:transparent in=0 out=25 color:blue in=0 out=25 -consumer avformat target=/tmp/export.mp4 ~Brian On Friday, July 21, 2023 at 04:30:59 AM CDT, Rickard Lindberg <ri...@ri...> wrote: I managed to reproduce the problem with melt: $ mlt-melt color:red in=0 out=25 -blank 25 color:blue in=0 out=25 -consumer avformat target=/tmp/export.mp4 +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ |1=-10| |2= -5| |3= -2| |4= -1| |5= 0| |6= 1| |7= 2| |8= 5| |9= 10| +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +---------------------------------------------------------------------+ | H = back 1 minute, L = forward 1 minute | | h = previous frame, l = next frame | | g = start of clip, j = next clip, k = previous clip | | 0 = restart, q = quit, space = play | +---------------------------------------------------------------------+ [libx264 @ 0x7fe9d80023c0] interlace + weightp is not implemented [mp4 @ 0x7fe9d8000f40] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead. [mp4 @ 0x7fe9d8000f40] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead. [aac @ 0x7fe9d8004e40] Input contains (near) NaN/+-Inf [consumer avformat] error with audio encode: -22 (frame 28) [aac @ 0x7fe9d8004e40] Input contains (near) NaN/+-Inf [consumer avformat] error with audio encode: -22 (frame 28) [aac @ 0x7fe9d8004e40] Input contains (near) NaN/+-Inf [consumer avformat] error with audio encode: -22 (frame 29) [aac @ 0x7fe9d8004e40] 5 frames left in the queue on closing Current Position: 28 /Rickard On Fri, Jul 21, 2023, at 10:44, Rickard Lindberg wrote: If I attach the audioconvert filter like this, the export works: playlist.attach(mlt.Filter(profile, "audioconvert")) When loading the xml, this filter seems to be attached automatically, along with avcolor_space. But it is not set for the playlist that I create. Should I wrap my playlist in something so that the loader can do its thing? Or should I add these filters manually? /Rickard On Thu, Jul 20, 2023, at 22:19, Rickard Lindberg wrote: I tried to generate an XML file using the "xml" consumer and got this: <?xml version="1.0"?> <mlt LC_NUMERIC="C" version="6.26.1" producer="playlist0"> <profile description="DV/DVD PAL" width="720" height="576" progressive="0" sample_aspect_num="16" sample_aspect_den="15" display_aspect_num="4" display_aspect_den="3" frame_rate_num="25" frame_rate_den="1" colorspace="601"/> <producer id="producer0" in="0" out="14999"> <property name="length">15000</property> <property name="eof">pause</property> <property name="resource">red</property> <property name="aspect_ratio">1.06667</property> <property name="mlt_service">color</property> </producer> <producer id="producer1" in="0" out="14999"> <property name="length">15000</property> <property name="eof">pause</property> <property name="resource">green</property> <property name="aspect_ratio">1.06667</property> <property name="mlt_service">color</property> </producer> <playlist id="playlist0"> <entry producer="producer0" in="0" out="25"/> <blank length="26"/> <entry producer="producer1" in="0" out="25"/> </playlist> </mlt> Melt seems to be able to render this just fine using mlt-melt test.xml -consumer avformat target=export.mp4 acodec=aac So my guess is that I need to do something different in my code. Question is what... /Rickard On Thu, Jul 20, 2023, at 22:16, Brian Matherly wrote: Your MLT is over 2 years old. Can you try with a newer version? Also, it would be helpful to reproduce with a melt command so that others can easily recreate the problem. ~Brian On Thursday, July 20, 2023 at 03:00:45 PM CDT, Rickard Lindberg <ri...@ri...> wrote: Hi, I'm having trouble exporting a playlist that contains blanks. Here is a small program to reproduce the problem: mlt.Factory().init() profile = mlt.Profile() playlist = mlt.Playlist() playlist.append(mlt.Producer(profile, "color:red"), 0, 25) playlist.blank(25) playlist.append(mlt.Producer(profile, "color:green"), 0, 25) consumer = mlt.Consumer(profile, "avformat") consumer.set("target", "export.mp4") consumer.connect(playlist) consumer.start() while consumer.is_stopped() == 0: time.sleep(1) The output: [libx264 @ 0x7f61740023c0] interlace + weightp is not implemented [mp4 @ 0x7f6174000f40] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead. [mp4 @ 0x7f6174000f40] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead. [aac @ 0x7f6174004e40] Input contains (near) NaN/+-Inf [consumer avformat] error with audio encode: -22 (frame 28) [aac @ 0x7f6174004e40] Input contains (near) NaN/+-Inf [consumer avformat] error with audio encode: -22 (frame 28) [aac @ 0x7f6174004e40] Input contains (near) NaN/+-Inf [consumer avformat] error with audio encode: -22 (frame 29) [aac @ 0x7f6174004e40] 5 frames left in the queue on closing Without playlist.blank(25) the export works fine. I assumed that if no producer exist to produce sound, silence will be used. Is that assumption wrong? Do I need to insert a producer for silence? Or is this an issue with the aac encoder? Versions: mlt: 6.26.1 ffmpeg: 4.4.1 /Rickard _______________________________________________ Mlt-devel mailing list Mlt...@li... https://lists.sourceforge.net/lists/listinfo/mlt-devel _______________________________________________ Mlt-devel mailing list Mlt...@li... https://lists.sourceforge.net/lists/listinfo/mlt-devel _______________________________________________ Mlt-devel mailing list Mlt...@li... https://lists.sourceforge.net/lists/listinfo/mlt-devel |
From: Rickard L. <ri...@ri...> - 2023-07-22 20:18:55
|
In this case, at this point, I'm fine with just receiving the event. But I'm not sure how. I tried this: def callback(*args): pass consumer.listen("consumer-fatal-error", None, callback) And get the following error: TypeError: in method 'Properties_listen', argument 4 of type 'mlt_listener' Thanks for the pointer to Flowblade. I've searched its source code, and as far as I can tell, it doesn't use events. /Rickard On Sat, Jul 22, 2023, at 22:07, Dan Dennedy wrote: > You can receive the event in Python, but the arguments are useless with special SWIG binding definition. Flowblade uses MLT python binding. You should consult its code for advice. The regular MLT developers have very little experience with it. > > On Sat, Jul 22, 2023 at 1:00 PM Rickard Lindberg <ri...@ri...> wrote: >> __ >> After reading a bit about Python and SWIG and reading the source code for MLT (src/swig/mlt.i in particular), I think that `consumer.listen` is not yet usable from Python. There seems to be no way to register a Python function as a callback. The mlt.i file seems to have some special handling for events for Ruby though. Perhaps something similar is needed for Python? >> >> But it makes me wonder, is there no way to programmatically detect errors from a consumer in Python? >> >> >> /Rickard >> >> On Sat, Jul 22, 2023, at 10:55, Rickard Lindberg wrote: >>> Hi, >>> >>> I see that there is a "consumer-fatal-error" event. Should that one be used? Or >>> is there a property set that indicates status? >>> >>> Also, I was not able to figure out Python syntax for listening to events. Does >>> anyone know what arg2 and arg3 is supposed to be below? >>> >>> consumer.listen("consumer-fatal-error", arg2, arg3) >>> >>> /Rickard >>> >>> >>> _______________________________________________ >>> Mlt-devel mailing list >>> Mlt...@li... >>> https://lists.sourceforge.net/lists/listinfo/mlt-devel >>> >> >> _______________________________________________ >> Mlt-devel mailing list >> Mlt...@li... >> https://lists.sourceforge.net/lists/listinfo/mlt-devel |
From: Dan D. <dde...@gm...> - 2023-07-22 20:07:34
|
You can receive the event in Python, but the arguments are useless with special SWIG binding definition. Flowblade uses MLT python binding. You should consult its code for advice. The regular MLT developers have very little experience with it. On Sat, Jul 22, 2023 at 1:00 PM Rickard Lindberg <ri...@ri...> wrote: > After reading a bit about Python and SWIG and reading the source code for > MLT (src/swig/mlt.i in particular), I think that `consumer.listen` is not > yet usable from Python. There seems to be no way to register a Python > function as a callback. The mlt.i file seems to have some special handling > for events for Ruby though. Perhaps something similar is needed for Python? > > But it makes me wonder, is there no way to programmatically detect errors > from a consumer in Python? > > > /Rickard > > On Sat, Jul 22, 2023, at 10:55, Rickard Lindberg wrote: > > Hi, > > I see that there is a "consumer-fatal-error" event. Should that one be > used? Or > is there a property set that indicates status? > > Also, I was not able to figure out Python syntax for listening to events. > Does > anyone know what arg2 and arg3 is supposed to be below? > > consumer.listen("consumer-fatal-error", arg2, arg3) > > /Rickard > > > _______________________________________________ > Mlt-devel mailing list > Mlt...@li... > https://lists.sourceforge.net/lists/listinfo/mlt-devel > > > _______________________________________________ > Mlt-devel mailing list > Mlt...@li... > https://lists.sourceforge.net/lists/listinfo/mlt-devel > |
From: Rickard L. <ri...@ri...> - 2023-07-22 19:59:47
|
After reading a bit about Python and SWIG and reading the source code for MLT (src/swig/mlt.i in particular), I think that `consumer.listen` is not yet usable from Python. There seems to be no way to register a Python function as a callback. The mlt.i file seems to have some special handling for events for Ruby though. Perhaps something similar is needed for Python? But it makes me wonder, is there no way to programmatically detect errors from a consumer in Python? /Rickard On Sat, Jul 22, 2023, at 10:55, Rickard Lindberg wrote: > Hi, > > I see that there is a "consumer-fatal-error" event. Should that one be used? Or > is there a property set that indicates status? > > Also, I was not able to figure out Python syntax for listening to events. Does > anyone know what arg2 and arg3 is supposed to be below? > > consumer.listen("consumer-fatal-error", arg2, arg3) > > /Rickard > > > _______________________________________________ > Mlt-devel mailing list > Mlt...@li... > https://lists.sourceforge.net/lists/listinfo/mlt-devel > |
From: Brian M. <bri...@ya...> - 2023-07-22 17:25:35
|
Here are some initial comments: Since mlt_tractor_pass_properties only operates on frames, maybe it should be a member of mlt_frame? mlt_tractor_pass_properties should probably have a more descriptive name. Which properties specifically does it pass? Could we convert the function to a single call to mlt_properties_pass_list()? Might be easier to read. https://github.com/mltframework/mlt/blob/master/src/framework/mlt_properties.h#L63 I think it would be good to submit a PR and continue the discussion there. ~Brian On Friday, July 21, 2023 at 02:20:50 AM CDT, Jean-Baptiste Mardelle <jb...@kd...> wrote: On Freitag, 21. Juli 2023 04:16:05 CEST you wrote: > The cairoblend transition has an optimization that if the b frame is > opaque, it will never request the a frame > imagehttps://github.com/mltframework/mlt/blob/master/src/modules/frei0r/tra > nsition_frei0r.c#L61 When this optimization is triggered, get_frame is never > called on the a frame. As a result, the field order filter never has a > chance to set the top_field_first flag on the a > frame.https://github.com/mltframework/mlt/blob/master/src/modules/core/filt > er_fieldorder.c#L115 > > As a test, you can defeat the optimization in a couple of ways:* Set > invert=1 on the transition* Set the color to be slightly transparent* > Comment out the optimization in the code What should be done in this > optimization case? I am not sure. Maybe copy the key image properties from > the b frame to the a frame. There are many others that could be included. > This might be a pretty good list here: > https://github.com/mltframework/mlt/blob/master/src/framework/mlt_tractor.c > #L379 Thanks a lot for the help and analysis, that helped. I was able to fix the problem by moving the mlt_tractor 's frame properties stuff (as linked above) to a new function called mlt_tractor_pass_properties, and then call this function in the cairoblend and qtblend optimisation. Attached is my patch. If that approach seems ok for you, I can create a pull request. Best regards, Jean-Baptiste > Or maybe there could be a different trick like all the contents of the > a_frame and b_frame could be swapped when performing this optimization. > ~Brian > > > On Thursday, July 20, 2023 at 02:42:47 AM CDT, Jean-Baptiste Mardelle > <jb...@kd...> wrote: > > Hi all, > > I was recently made aware of an issue in interlaced rendering that seems > like a bug but I am not exactly sure where the problem lies. > > The problem is that in some cases, MLT renders an interlaced video with > bottom field first, even when asked for a top field first result. I tracked > down the issue to some transitions. For example with a simple 2 track color > sample : > > melt color:red out=20 -track color:blue out=20 -consumer avformat:test.mp4 > f=mxf progressive=0 real_time=-1 threads=0 top_field_first=1 > vcodec=mpeg2video > > Produces a correct top field first video. Now if you add a transition but > keep the exact same rendering parameters: > > melt color:red out=20 -track color:blue out=20 -transition frei0r.cairoblend > a_track=0 b_track=1 out=20 -consumer avformat:test.mp4 f=mxf progressive=0 > real_time=-1 threads=0 top_field_first=1 vcodec=mpeg2video > > You get an interlaced video with bottom field first! > Not all transition seem to have this problem, but at least frei0r.cairoblend > and qtblend do break the field order. > > FYI, I used mediainfo to detect the field order of the rendered videos. > > Do you have any hint on where / how to fix this ? > Thanks a lot, > > Jean-Baptiste_______________________________________________ > Mlt-devel mailing list > Mlt...@li... > https://lists.sourceforge.net/lists/listinfo/mlt-devel |
From: Brian M. <bri...@ya...> - 2023-07-22 13:32:13
|
The normalizing filters are intended to be attached to the individual producers, not the playlist itself. It isn't the intention for the programmer to manually add the normalizers. They are added by the factory when the "service:resource" notation us used (as you use in your example code). >From my inspection of your code (I did not try to run it), the normalizers should be getting added correctly. You could try passing the profile to the playlist. But that is just a guess. ~Brian On Friday, July 21, 2023 at 03:45:16 AM CDT, Rickard Lindberg <ri...@ri...> wrote: If I attach the audioconvert filter like this, the export works: playlist.attach(mlt.Filter(profile, "audioconvert")) When loading the xml, this filter seems to be attached automatically, along with avcolor_space. But it is not set for the playlist that I create. Should I wrap my playlist in something so that the loader can do its thing? Or should I add these filters manually? /Rickard On Thu, Jul 20, 2023, at 22:19, Rickard Lindberg wrote: I tried to generate an XML file using the "xml" consumer and got this: <?xml version="1.0"?> <mlt LC_NUMERIC="C" version="6.26.1" producer="playlist0"> <profile description="DV/DVD PAL" width="720" height="576" progressive="0" sample_aspect_num="16" sample_aspect_den="15" display_aspect_num="4" display_aspect_den="3" frame_rate_num="25" frame_rate_den="1" colorspace="601"/> <producer id="producer0" in="0" out="14999"> <property name="length">15000</property> <property name="eof">pause</property> <property name="resource">red</property> <property name="aspect_ratio">1.06667</property> <property name="mlt_service">color</property> </producer> <producer id="producer1" in="0" out="14999"> <property name="length">15000</property> <property name="eof">pause</property> <property name="resource">green</property> <property name="aspect_ratio">1.06667</property> <property name="mlt_service">color</property> </producer> <playlist id="playlist0"> <entry producer="producer0" in="0" out="25"/> <blank length="26"/> <entry producer="producer1" in="0" out="25"/> </playlist> </mlt> Melt seems to be able to render this just fine using mlt-melt test.xml -consumer avformat target=export.mp4 acodec=aac So my guess is that I need to do something different in my code. Question is what... /Rickard On Thu, Jul 20, 2023, at 22:16, Brian Matherly wrote: Your MLT is over 2 years old. Can you try with a newer version? Also, it would be helpful to reproduce with a melt command so that others can easily recreate the problem. ~Brian On Thursday, July 20, 2023 at 03:00:45 PM CDT, Rickard Lindberg <ri...@ri...> wrote: Hi, I'm having trouble exporting a playlist that contains blanks. Here is a small program to reproduce the problem: mlt.Factory().init() profile = mlt.Profile() playlist = mlt.Playlist() playlist.append(mlt.Producer(profile, "color:red"), 0, 25) playlist.blank(25) playlist.append(mlt.Producer(profile, "color:green"), 0, 25) consumer = mlt.Consumer(profile, "avformat") consumer.set("target", "export.mp4") consumer.connect(playlist) consumer.start() while consumer.is_stopped() == 0: time.sleep(1) The output: [libx264 @ 0x7f61740023c0] interlace + weightp is not implemented [mp4 @ 0x7f6174000f40] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead. [mp4 @ 0x7f6174000f40] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead. [aac @ 0x7f6174004e40] Input contains (near) NaN/+-Inf [consumer avformat] error with audio encode: -22 (frame 28) [aac @ 0x7f6174004e40] Input contains (near) NaN/+-Inf [consumer avformat] error with audio encode: -22 (frame 28) [aac @ 0x7f6174004e40] Input contains (near) NaN/+-Inf [consumer avformat] error with audio encode: -22 (frame 29) [aac @ 0x7f6174004e40] 5 frames left in the queue on closing Without playlist.blank(25) the export works fine. I assumed that if no producer exist to produce sound, silence will be used. Is that assumption wrong? Do I need to insert a producer for silence? Or is this an issue with the aac encoder? Versions: mlt: 6.26.1 ffmpeg: 4.4.1 /Rickard _______________________________________________ Mlt-devel mailing list Mlt...@li... https://lists.sourceforge.net/lists/listinfo/mlt-devel _______________________________________________ Mlt-devel mailing list Mlt...@li... https://lists.sourceforge.net/lists/listinfo/mlt-devel |
From: Rickard L. <ri...@ri...> - 2023-07-22 09:16:01
|
Hi, I see that there is a "consumer-fatal-error" event. Should that one be used? Or is there a property set that indicates status? Also, I was not able to figure out Python syntax for listening to events. Does anyone know what arg2 and arg3 is supposed to be below? consumer.listen("consumer-fatal-error", arg2, arg3) /Rickard |
From: Rickard L. <ri...@ri...> - 2023-07-21 09:31:09
|
I managed to reproduce the problem with melt: $ mlt-melt color:red in=0 out=25 -blank 25 color:blue in=0 out=25 -consumer avformat target=/tmp/export.mp4 +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ |1=-10| |2= -5| |3= -2| |4= -1| |5= 0| |6= 1| |7= 2| |8= 5| |9= 10| +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +---------------------------------------------------------------------+ | H = back 1 minute, L = forward 1 minute | | h = previous frame, l = next frame | | g = start of clip, j = next clip, k = previous clip | | 0 = restart, q = quit, space = play | +---------------------------------------------------------------------+ [libx264 @ 0x7fe9d80023c0] interlace + weightp is not implemented [mp4 @ 0x7fe9d8000f40] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead. [mp4 @ 0x7fe9d8000f40] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead. [aac @ 0x7fe9d8004e40] Input contains (near) NaN/+-Inf [consumer avformat] error with audio encode: -22 (frame 28) [aac @ 0x7fe9d8004e40] Input contains (near) NaN/+-Inf [consumer avformat] error with audio encode: -22 (frame 28) [aac @ 0x7fe9d8004e40] Input contains (near) NaN/+-Inf [consumer avformat] error with audio encode: -22 (frame 29) [aac @ 0x7fe9d8004e40] 5 frames left in the queue on closing Current Position: 28 /Rickard On Fri, Jul 21, 2023, at 10:44, Rickard Lindberg wrote: > If I attach the audioconvert filter like this, the export works: > > playlist.attach(mlt.Filter(profile, "audioconvert")) > > When loading the xml, this filter seems to be attached automatically, along with avcolor_space. But it is not set for the playlist that I create. > > Should I wrap my playlist in something so that the loader can do its thing? Or should I add these filters manually? > > /Rickard > > > On Thu, Jul 20, 2023, at 22:19, Rickard Lindberg wrote: >> I tried to generate an XML file using the "xml" consumer and got this: >> >> <?xml version="1.0"?> >> <mlt LC_NUMERIC="C" version="6.26.1" producer="playlist0"> >> <profile description="DV/DVD PAL" width="720" height="576" progressive="0" sample_aspect_num="16" sample_aspect_den="15" display_aspect_num="4" display_aspect_den="3" frame_rate_num="25" frame_rate_den="1" colorspace="601"/> >> <producer id="producer0" in="0" out="14999"> >> <property name="length">15000</property> >> <property name="eof">pause</property> >> <property name="resource">red</property> >> <property name="aspect_ratio">1.06667</property> >> <property name="mlt_service">color</property> >> </producer> >> <producer id="producer1" in="0" out="14999"> >> <property name="length">15000</property> >> <property name="eof">pause</property> >> <property name="resource">green</property> >> <property name="aspect_ratio">1.06667</property> >> <property name="mlt_service">color</property> >> </producer> >> <playlist id="playlist0"> >> <entry producer="producer0" in="0" out="25"/> >> <blank length="26"/> >> <entry producer="producer1" in="0" out="25"/> >> </playlist> >> </mlt> >> >> Melt seems to be able to render this just fine using >> >> mlt-melt test.xml -consumer avformat target=export.mp4 acodec=aac >> >> So my guess is that I need to do something different in my code. Question is what... >> >> /Rickard >> >> On Thu, Jul 20, 2023, at 22:16, Brian Matherly wrote: >>> >>> Your MLT is over 2 years old. Can you try with a newer version? >>> >>> Also, it would be helpful to reproduce with a melt command so that others can easily recreate the problem. >>> >>> ~Brian >>> >>> >>> On Thursday, July 20, 2023 at 03:00:45 PM CDT, Rickard Lindberg <ri...@ri...> wrote: >>> >>> >>> Hi, >>> >>> I'm having trouble exporting a playlist that contains blanks. Here is a small >>> program to reproduce the problem: >>> >>> mlt.Factory().init() >>> profile = mlt.Profile() >>> playlist = mlt.Playlist() >>> playlist.append(mlt.Producer(profile, "color:red"), 0, 25) >>> playlist.blank(25) >>> playlist.append(mlt.Producer(profile, "color:green"), 0, 25) >>> consumer = mlt.Consumer(profile, "avformat") >>> consumer.set("target", "export.mp4") >>> consumer.connect(playlist) >>> consumer.start() >>> while consumer.is_stopped() == 0: >>> time.sleep(1) >>> >>> The output: >>> >>> [libx264 @ 0x7f61740023c0] interlace + weightp is not implemented >>> [mp4 @ 0x7f6174000f40] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead. >>> [mp4 @ 0x7f6174000f40] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead. >>> [aac @ 0x7f6174004e40] Input contains (near) NaN/+-Inf >>> [consumer avformat] error with audio encode: -22 (frame 28) >>> [aac @ 0x7f6174004e40] Input contains (near) NaN/+-Inf >>> [consumer avformat] error with audio encode: -22 (frame 28) >>> [aac @ 0x7f6174004e40] Input contains (near) NaN/+-Inf >>> [consumer avformat] error with audio encode: -22 (frame 29) >>> [aac @ 0x7f6174004e40] 5 frames left in the queue on closing >>> >>> Without >>> >>> playlist.blank(25) >>> >>> the export works fine. >>> >>> I assumed that if no producer exist to produce sound, silence will be used. Is >>> that assumption wrong? Do I need to insert a producer for silence? Or is this >>> an issue with the aac encoder? >>> >>> Versions: >>> >>> mlt: 6.26.1 >>> ffmpeg: 4.4.1 >>> >>> /Rickard >>> >>> _______________________________________________ >>> Mlt-devel mailing list >>> Mlt...@li... >>> https://lists.sourceforge.net/lists/listinfo/mlt-devel >> >> >> _______________________________________________ >> Mlt-devel mailing list >> Mlt...@li... >> https://lists.sourceforge.net/lists/listinfo/mlt-devel >> > > > _______________________________________________ > Mlt-devel mailing list > Mlt...@li... > https://lists.sourceforge.net/lists/listinfo/mlt-devel > |
From: Rickard L. <ri...@ri...> - 2023-07-21 08:45:26
|
If I attach the audioconvert filter like this, the export works: playlist.attach(mlt.Filter(profile, "audioconvert")) When loading the xml, this filter seems to be attached automatically, along with avcolor_space. But it is not set for the playlist that I create. Should I wrap my playlist in something so that the loader can do its thing? Or should I add these filters manually? /Rickard On Thu, Jul 20, 2023, at 22:19, Rickard Lindberg wrote: > I tried to generate an XML file using the "xml" consumer and got this: > > <?xml version="1.0"?> > <mlt LC_NUMERIC="C" version="6.26.1" producer="playlist0"> > <profile description="DV/DVD PAL" width="720" height="576" progressive="0" sample_aspect_num="16" sample_aspect_den="15" display_aspect_num="4" display_aspect_den="3" frame_rate_num="25" frame_rate_den="1" colorspace="601"/> > <producer id="producer0" in="0" out="14999"> > <property name="length">15000</property> > <property name="eof">pause</property> > <property name="resource">red</property> > <property name="aspect_ratio">1.06667</property> > <property name="mlt_service">color</property> > </producer> > <producer id="producer1" in="0" out="14999"> > <property name="length">15000</property> > <property name="eof">pause</property> > <property name="resource">green</property> > <property name="aspect_ratio">1.06667</property> > <property name="mlt_service">color</property> > </producer> > <playlist id="playlist0"> > <entry producer="producer0" in="0" out="25"/> > <blank length="26"/> > <entry producer="producer1" in="0" out="25"/> > </playlist> > </mlt> > > Melt seems to be able to render this just fine using > > mlt-melt test.xml -consumer avformat target=export.mp4 acodec=aac > > So my guess is that I need to do something different in my code. Question is what... > > /Rickard > > On Thu, Jul 20, 2023, at 22:16, Brian Matherly wrote: >> >> Your MLT is over 2 years old. Can you try with a newer version? >> >> Also, it would be helpful to reproduce with a melt command so that others can easily recreate the problem. >> >> ~Brian >> >> >> On Thursday, July 20, 2023 at 03:00:45 PM CDT, Rickard Lindberg <ri...@ri...> wrote: >> >> >> Hi, >> >> I'm having trouble exporting a playlist that contains blanks. Here is a small >> program to reproduce the problem: >> >> mlt.Factory().init() >> profile = mlt.Profile() >> playlist = mlt.Playlist() >> playlist.append(mlt.Producer(profile, "color:red"), 0, 25) >> playlist.blank(25) >> playlist.append(mlt.Producer(profile, "color:green"), 0, 25) >> consumer = mlt.Consumer(profile, "avformat") >> consumer.set("target", "export.mp4") >> consumer.connect(playlist) >> consumer.start() >> while consumer.is_stopped() == 0: >> time.sleep(1) >> >> The output: >> >> [libx264 @ 0x7f61740023c0] interlace + weightp is not implemented >> [mp4 @ 0x7f6174000f40] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead. >> [mp4 @ 0x7f6174000f40] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead. >> [aac @ 0x7f6174004e40] Input contains (near) NaN/+-Inf >> [consumer avformat] error with audio encode: -22 (frame 28) >> [aac @ 0x7f6174004e40] Input contains (near) NaN/+-Inf >> [consumer avformat] error with audio encode: -22 (frame 28) >> [aac @ 0x7f6174004e40] Input contains (near) NaN/+-Inf >> [consumer avformat] error with audio encode: -22 (frame 29) >> [aac @ 0x7f6174004e40] 5 frames left in the queue on closing >> >> Without >> >> playlist.blank(25) >> >> the export works fine. >> >> I assumed that if no producer exist to produce sound, silence will be used. Is >> that assumption wrong? Do I need to insert a producer for silence? Or is this >> an issue with the aac encoder? >> >> Versions: >> >> mlt: 6.26.1 >> ffmpeg: 4.4.1 >> >> /Rickard >> >> _______________________________________________ >> Mlt-devel mailing list >> Mlt...@li... >> https://lists.sourceforge.net/lists/listinfo/mlt-devel > > > _______________________________________________ > Mlt-devel mailing list > Mlt...@li... > https://lists.sourceforge.net/lists/listinfo/mlt-devel > |
From: Jean-Baptiste M. <jb...@kd...> - 2023-07-21 07:37:04
|
On Freitag, 21. Juli 2023 04:16:05 CEST you wrote: > The cairoblend transition has an optimization that if the b frame is > opaque, it will never request the a frame > imagehttps://github.com/mltframework/mlt/blob/master/src/modules/frei0r/tra > nsition_frei0r.c#L61 When this optimization is triggered, get_frame is never > called on the a frame. As a result, the field order filter never has a > chance to set the top_field_first flag on the a > frame.https://github.com/mltframework/mlt/blob/master/src/modules/core/filt > er_fieldorder.c#L115 > > As a test, you can defeat the optimization in a couple of ways:* Set > invert=1 on the transition* Set the color to be slightly transparent* > Comment out the optimization in the code What should be done in this > optimization case? I am not sure. Maybe copy the key image properties from > the b frame to the a frame. There are many others that could be included. > This might be a pretty good list here: > https://github.com/mltframework/mlt/blob/master/src/framework/mlt_tractor.c > #L379 Thanks a lot for the help and analysis, that helped. I was able to fix the problem by moving the mlt_tractor 's frame properties stuff (as linked above) to a new function called mlt_tractor_pass_properties, and then call this function in the cairoblend and qtblend optimisation. Attached is my patch. If that approach seems ok for you, I can create a pull request. Best regards, Jean-Baptiste > Or maybe there could be a different trick like all the contents of the > a_frame and b_frame could be swapped when performing this optimization. > ~Brian > > > On Thursday, July 20, 2023 at 02:42:47 AM CDT, Jean-Baptiste Mardelle > <jb...@kd...> wrote: > > Hi all, > > I was recently made aware of an issue in interlaced rendering that seems > like a bug but I am not exactly sure where the problem lies. > > The problem is that in some cases, MLT renders an interlaced video with > bottom field first, even when asked for a top field first result. I tracked > down the issue to some transitions. For example with a simple 2 track color > sample : > > melt color:red out=20 -track color:blue out=20 -consumer avformat:test.mp4 > f=mxf progressive=0 real_time=-1 threads=0 top_field_first=1 > vcodec=mpeg2video > > Produces a correct top field first video. Now if you add a transition but > keep the exact same rendering parameters: > > melt color:red out=20 -track color:blue out=20 -transition frei0r.cairoblend > a_track=0 b_track=1 out=20 -consumer avformat:test.mp4 f=mxf progressive=0 > real_time=-1 threads=0 top_field_first=1 vcodec=mpeg2video > > You get an interlaced video with bottom field first! > Not all transition seem to have this problem, but at least frei0r.cairoblend > and qtblend do break the field order. > > FYI, I used mediainfo to detect the field order of the rendered videos. > > Do you have any hint on where / how to fix this ? > Thanks a lot, > > Jean-Baptiste_______________________________________________ > Mlt-devel mailing list > Mlt...@li... > https://lists.sourceforge.net/lists/listinfo/mlt-devel |
From: Brian M. <bri...@ya...> - 2023-07-21 02:16:17
|
The cairoblend transition has an optimization that if the b frame is opaque, it will never request the a frame imagehttps://github.com/mltframework/mlt/blob/master/src/modules/frei0r/transition_frei0r.c#L61 When this optimization is triggered, get_frame is never called on the a frame. As a result, the field order filter never has a chance to set the top_field_first flag on the a frame.https://github.com/mltframework/mlt/blob/master/src/modules/core/filter_fieldorder.c#L115 As a test, you can defeat the optimization in a couple of ways:* Set invert=1 on the transition* Set the color to be slightly transparent* Comment out the optimization in the code What should be done in this optimization case? I am not sure. Maybe copy the key image properties from the b frame to the a frame. There are many others that could be included. This might be a pretty good list here: https://github.com/mltframework/mlt/blob/master/src/framework/mlt_tractor.c#L379 Or maybe there could be a different trick like all the contents of the a_frame and b_frame could be swapped when performing this optimization. ~Brian On Thursday, July 20, 2023 at 02:42:47 AM CDT, Jean-Baptiste Mardelle <jb...@kd...> wrote: Hi all, I was recently made aware of an issue in interlaced rendering that seems like a bug but I am not exactly sure where the problem lies. The problem is that in some cases, MLT renders an interlaced video with bottom field first, even when asked for a top field first result. I tracked down the issue to some transitions. For example with a simple 2 track color sample : melt color:red out=20 -track color:blue out=20 -consumer avformat:test.mp4 f=mxf progressive=0 real_time=-1 threads=0 top_field_first=1 vcodec=mpeg2video Produces a correct top field first video. Now if you add a transition but keep the exact same rendering parameters: melt color:red out=20 -track color:blue out=20 -transition frei0r.cairoblend a_track=0 b_track=1 out=20 -consumer avformat:test.mp4 f=mxf progressive=0 real_time=-1 threads=0 top_field_first=1 vcodec=mpeg2video You get an interlaced video with bottom field first! Not all transition seem to have this problem, but at least frei0r.cairoblend and qtblend do break the field order. FYI, I used mediainfo to detect the field order of the rendered videos. Do you have any hint on where / how to fix this ? Thanks a lot, Jean-Baptiste_______________________________________________ Mlt-devel mailing list Mlt...@li... https://lists.sourceforge.net/lists/listinfo/mlt-devel |
From: Rickard L. <ri...@ri...> - 2023-07-20 20:20:22
|
I tried to generate an XML file using the "xml" consumer and got this: <?xml version="1.0"?> <mlt LC_NUMERIC="C" version="6.26.1" producer="playlist0"> <profile description="DV/DVD PAL" width="720" height="576" progressive="0" sample_aspect_num="16" sample_aspect_den="15" display_aspect_num="4" display_aspect_den="3" frame_rate_num="25" frame_rate_den="1" colorspace="601"/> <producer id="producer0" in="0" out="14999"> <property name="length">15000</property> <property name="eof">pause</property> <property name="resource">red</property> <property name="aspect_ratio">1.06667</property> <property name="mlt_service">color</property> </producer> <producer id="producer1" in="0" out="14999"> <property name="length">15000</property> <property name="eof">pause</property> <property name="resource">green</property> <property name="aspect_ratio">1.06667</property> <property name="mlt_service">color</property> </producer> <playlist id="playlist0"> <entry producer="producer0" in="0" out="25"/> <blank length="26"/> <entry producer="producer1" in="0" out="25"/> </playlist> </mlt> Melt seems to be able to render this just fine using mlt-melt test.xml -consumer avformat target=export.mp4 acodec=aac So my guess is that I need to do something different in my code. Question is what... /Rickard On Thu, Jul 20, 2023, at 22:16, Brian Matherly wrote: > > Your MLT is over 2 years old. Can you try with a newer version? > > Also, it would be helpful to reproduce with a melt command so that others can easily recreate the problem. > > ~Brian > > > On Thursday, July 20, 2023 at 03:00:45 PM CDT, Rickard Lindberg <ri...@ri...> wrote: > > > Hi, > > I'm having trouble exporting a playlist that contains blanks. Here is a small > program to reproduce the problem: > > mlt.Factory().init() > profile = mlt.Profile() > playlist = mlt.Playlist() > playlist.append(mlt.Producer(profile, "color:red"), 0, 25) > playlist.blank(25) > playlist.append(mlt.Producer(profile, "color:green"), 0, 25) > consumer = mlt.Consumer(profile, "avformat") > consumer.set("target", "export.mp4") > consumer.connect(playlist) > consumer.start() > while consumer.is_stopped() == 0: > time.sleep(1) > > The output: > > [libx264 @ 0x7f61740023c0] interlace + weightp is not implemented > [mp4 @ 0x7f6174000f40] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead. > [mp4 @ 0x7f6174000f40] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead. > [aac @ 0x7f6174004e40] Input contains (near) NaN/+-Inf > [consumer avformat] error with audio encode: -22 (frame 28) > [aac @ 0x7f6174004e40] Input contains (near) NaN/+-Inf > [consumer avformat] error with audio encode: -22 (frame 28) > [aac @ 0x7f6174004e40] Input contains (near) NaN/+-Inf > [consumer avformat] error with audio encode: -22 (frame 29) > [aac @ 0x7f6174004e40] 5 frames left in the queue on closing > > Without > > playlist.blank(25) > > the export works fine. > > I assumed that if no producer exist to produce sound, silence will be used. Is > that assumption wrong? Do I need to insert a producer for silence? Or is this > an issue with the aac encoder? > > Versions: > > mlt: 6.26.1 > ffmpeg: 4.4.1 > > /Rickard > > _______________________________________________ > Mlt-devel mailing list > Mlt...@li... > https://lists.sourceforge.net/lists/listinfo/mlt-devel |
From: Brian M. <bri...@ya...> - 2023-07-20 20:16:52
|
Your MLT is over 2 years old. Can you try with a newer version? Also, it would be helpful to reproduce with a melt command so that others can easily recreate the problem. ~Brian On Thursday, July 20, 2023 at 03:00:45 PM CDT, Rickard Lindberg <ri...@ri...> wrote: Hi, I'm having trouble exporting a playlist that contains blanks. Here is a small program to reproduce the problem: mlt.Factory().init() profile = mlt.Profile() playlist = mlt.Playlist() playlist.append(mlt.Producer(profile, "color:red"), 0, 25) playlist.blank(25) playlist.append(mlt.Producer(profile, "color:green"), 0, 25) consumer = mlt.Consumer(profile, "avformat") consumer.set("target", "export.mp4") consumer.connect(playlist) consumer.start() while consumer.is_stopped() == 0: time.sleep(1) The output: [libx264 @ 0x7f61740023c0] interlace + weightp is not implemented [mp4 @ 0x7f6174000f40] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead. [mp4 @ 0x7f6174000f40] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead. [aac @ 0x7f6174004e40] Input contains (near) NaN/+-Inf [consumer avformat] error with audio encode: -22 (frame 28) [aac @ 0x7f6174004e40] Input contains (near) NaN/+-Inf [consumer avformat] error with audio encode: -22 (frame 28) [aac @ 0x7f6174004e40] Input contains (near) NaN/+-Inf [consumer avformat] error with audio encode: -22 (frame 29) [aac @ 0x7f6174004e40] 5 frames left in the queue on closing Without playlist.blank(25) the export works fine. I assumed that if no producer exist to produce sound, silence will be used. Is that assumption wrong? Do I need to insert a producer for silence? Or is this an issue with the aac encoder? Versions: mlt: 6.26.1 ffmpeg: 4.4.1 /Rickard _______________________________________________ Mlt-devel mailing list Mlt...@li... https://lists.sourceforge.net/lists/listinfo/mlt-devel |