단 하나의 이미지 인 짧은 비디오를 만들려고합니다. (나는 그 바보 같다. 그러나 더 큰 것을 시험해 본다.)mlt XML 및 C 인터페이스에서 일관되지 않은 렌더링 및 생산자 및 avformat 소비자 '보유'
내가 렌더링이 코드는 다음과 같습니다
logo.png
이
this file입니다
#include <framework/mlt.h>
#include <stdlib.h>
#include <unistd.h>
int main() {
if(mlt_factory_init(NULL)) {
mlt_profile p = mlt_profile_init(NULL);
mlt_consumer target = mlt_factory_consumer(p, "avformat",
mlt_producer source = mlt_factory_producer(p, "hold", "/Users/leif/logo.png");
mlt_producer_set_in_and_out(source, 0, 10);
mlt_consumer_connect(target, mlt_producer_service(source));
mlt_consumer_start(target);
sleep(5);
mlt_consumer_stop(target);
mlt_consumer_close(target);
mlt_producer_close(source);
mlt_factory_close();
} else {
printf("No\n");
}
return 0;
}
.
이 코드를 실행하고 output.mp4
을 재생하면 그림이 모두 구식 이어집니다. 중간에 녹색 줄이 있고 로고 자체가 많이 겹쳐져 있습니다.
반면에 소비자를 SDL로 변경하면 이미지가 잘 재생됩니다. 나는 XML, 그리고 다음을 렌더링하기 위해 용융 명령 줄 응용 프로그램을 사용하여 소비자를 변경하는 경우
그리고 마침내 :
melt -consumer avformat:xmlout.mp4 output.xml
및 비디오를 재생, 또한 잘한다.
내가 설정해야하는 avformat 소비자에게 누락 된 것이 있습니까? 아니면 내가 여기에서 놓친 다른 것?
편집 : 참고로, 출력 된 XML 파일 : output.xml
은 다음과 같습니다 관련 bug report에서
<?xml version="1.0" encoding="utf-8"?>
<mlt LC_NUMERIC="en_US.UTF-8" version="6.2.0" root="/Users/leif/src/video/private" title="Anonymous Submission" parent="producer0" in="0" out="10">
<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" title="Anonymous Submission" in="0" out="10">
<property name="length">15000</property>
<property name="eof">pause</property>
<property name="resource">/Users/leif/logo.png</property>
<property name="aspect_ratio">1.06667</property>
<property name="frame">0</property>
<property name="method">onefield</property>
<property name="mlt_service">hold</property>
<property name="global_feed">1</property>
</producer>
</mlt>
그래, 내 문제가 해결되었습니다. 고맙습니다. 또한 여러 속성을 전달할 수 있습니까? 마찬가지로 : mlt_factory_producer (p, NULL, "hold : logo.png 너비 : 20 높이 : 20" –
아니요, 서비스에 "인수"(이 경우 생산자) 만 제공 할 수 있습니다 .mlt_properties_set 다른 모든 속성의 경우 –