الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تجميع مجموعة صور إلى فديو

بدأه mr.beshoy في 24 يونيو 2010 · 17 رد · 982 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

سلام للجميع :

-------------------------

أريد تكوين ملف فديو من نوع AVI من مجموعة صور " frames " من نوع bmp

حاولت كثيراً و بحثت لكن لم أستطع احتواء الموضوع .

-------------------------------------------------------------------------------------

أعرف أن هناك ما يسمع بال dataSource and dataSkin

لكن للإسف مش عارف أزاى أتعامل مع الصور و اكون منها فديو

----------------------------------------------------------------------

و بصراحة الكود الى كتتبه ملغبط و أنا شخصياً مش عارف احطه أزاى لان أفكاره كلها ملغبطة .

أتمنى أن تفيدونى فى هذا الأمر .

شكراً

#3

شكراً لتعبك .

----------------------------

لو سمحت يا شباب المثال فى اللينك هذا http://java.sun.com/javase/technologies/desktop/media/jmf/2.1.1/solutions/JpegImagesToMovie.java

بيكون فديو من مجموعة صورة Jpeg

لكن أنا عاوز أعرف أين الصور هذه التى يتعامل معها ؟!

أقصد أنه مش محدد مسار المكان الموجود فيه الصور ، إذن كيف يتعامل معهم ؟!!

ياريت توضيح هذه الجزئية .

---------------------------------------------------------

و أعتقد أن ال code هذا ممكن تطبيقه على صور من نوع bmp و تحويلهم إلى AVI ؟

تم تعديل هذه المشاركة بواسطة mr.beshoy في 24 يونيو 2010 في 20:34

#4

لم اتحقق من الكود بشكل دقيق

لكن هذه الجزئية اعتقد انه يتم تمرير القيم من عندك لها

 public class JpegImagesToMovie implements ControllerListener, DataSinkListener {

    public boolean doIt(int width, int height, int frameRate, Vector inFiles, MediaLocator outML) {
	ImageDataSource ids = new ImageDataSource(width, height, frameRate, inFiles);

حيث inFiles عبارة عن Vector<String> يحتوي اسماء الملفات و مكانهم

#5

لو تسمح حضرتك تقصد امرر للمتغير infiles أسماء الصور ؟!!

لو تقصد كده ياريت توضح معلش .

معلش استحملنى فى اسئلتى ؟

شكراً

#6

من الرابط:

http://java.sun.com/javase/technologies/desktop/media/jmf/2.1.1/solutions/JpegImagesToMovie.html

ستجد في الأسفل:

اقتباس
How to run this sample

java JpegImagesToMovie -w <width> -h <height> -f <frame rate per sec.> -o <output URL> <input JPEG file 1> <input JPEG file 2> ...

Example:

java JpegImagesToMovie -w 320 -h240 -f 1 file:/c:/temp/foo1.jpg file:/c:/temp/foo2.jpg

بالتوفيق :).

http://informatic-ar.com منصة تعليمية عربية في علوم الحاسب والبرمجة

https://moalfat.com  للكتب الالكترونية والكورسات التعليمية

Everything we see now is just an engineering solution based on old science

#7

هناك حلول أخرى غير JMF:

مكتبة Xuggler:

http://wiki.xuggle.com/MediaTool_Introduction

http://blog.hslu.ch/rawcoder/2008/08/12/writing-avi-videos-using-pure-java/

تم تعديل هذه المشاركة بواسطة Wajdy Essam في 24 يونيو 2010 في 22:18

1

http://informatic-ar.com منصة تعليمية عربية في علوم الحاسب والبرمجة

https://moalfat.com  للكتب الالكترونية والكورسات التعليمية

Everything we see now is just an engineering solution based on old science

#8

بالمناسبة هناك طريقة أسهل بكثير.. وهي بالاعتماد على برنامج جهاز يقوم بالتحويل وتمرر له المعاملات التي تريدها وتقوم باستدعائه من جافا.. والبرنامج سوف يقوم بالمهمه المطلوبة ويرجع لك الناتج.

أستخدم هذه الطريقة في بعض مشاريعي التي تتطلب فهم لformat ما ولا يوجد لدى وقت فأقوم بالبحث عن command line tool تقوم باستخدام ومعالجة هذه الformat.

بحثت الأن ووجدت http://www.ffmpeg.org/

تستطيع استدعائها من سطر الأوامر وتمرر لها الصور وملف AVI الناتج..

وبسطرين في جافا سوف تقوم بالمهمه :). طبعا باستخدام الكلاس RunTime لكي تستدعي ذلك البرنامج الخارجي.

راجع:

http://electron.mit.edu/~gsteele/ffmpeg/

http://howto-pages.org/ffmpeg/

http://stephenjungels.com/jungels.net/articles/ffmpeg-howto.html

google it for more

:)

تم تعديل هذه المشاركة بواسطة Wajdy Essam في 24 يونيو 2010 في 22:08

1

http://informatic-ar.com منصة تعليمية عربية في علوم الحاسب والبرمجة

https://moalfat.com  للكتب الالكترونية والكورسات التعليمية

Everything we see now is just an engineering solution based on old science

#9

معلش أنا بحاول استخدم ال JMF

مش مرتاح نفسياً للطرق الأخرى أخ وجدى .

و هوافيكم الأخبار شوية كده .

شكراً

#10

عندى سوال فى الكود السابق :

فى الدالة main() مالفائدة من الجزء الآتى :

------------------------------------------

	if (args.length == 0)
	    prUsage();

	// Parse the arguments.
	int i = 0;
	int width = -1, height = -1, frameRate = 1;
	Vector inputFiles = new Vector();
	String outputURL = null;

	while (i < args.length) {

	    if (args.equals("-w")) {
		i++;
		if (i >= args.length)
		    prUsage();
		width = new Integer(args).intValue();
	    } else if (args.equals("-h")) {
		i++;
		if (i >= args.length)
		    prUsage();
		height = new Integer(args).intValue();
	    } else if (args.equals("-f")) {
		i++;
		if (i >= args.length)
		    prUsage();
		frameRate = new Integer(args).intValue();
	    } else if (args.equals("-o")) {
		i++;
		if (i >= args.length)
		    prUsage();
		outputURL = args;
	    } else {
		inputFiles.addElement(args);
	    }
	    i++;
	}
	if (outputURL == null || inputFiles.size() == 0)
	    prUsage();

	// Check for output file extension.
	if (!outputURL.endsWith(".mov") && !outputURL.endsWith(".MOV")) {
	    System.err.println("The output file extension should end with a .mov extension");
	    prUsage();
	}

	if (width < 0 || height < 0) {
	    System.err.println("Please specify the correct image size.");
	    prUsage();
	}

السوال الآخر :

فى السطر

	imageToMovie.doIt(width, height, frameRate, inputFiles, oml);

كل ما علىَّ أن استبدل ال width, height, frameRate بقيم . و المتغير inputFiles استبدله بأسماء ملفات الصور

مش كده و لا إيه ؟؟

شكراً

تم تعديل هذه المشاركة بواسطة mr.beshoy في 25 يونيو 2010 في 00:12

#11

السؤال الأول: إجمالا, هو إستقبال ال arguments من سطر الأوامر , بحيث تكون في صيغه معينه مثلا

cp -rf from to
#12

يعنى مش جزئية مهمة للدرجة و لا ايه ؟!!

-----------------------

و السوال التانى طيب معلش

شكرا

#13

نعم, كما هو مبين بالكود:

Vector inputFiles = new Vector();
	inputFiles.addElement(args);
#14

أنا عاوز أعرف الwidth, height, frameRate, inputFiles, oml

أدخلهم أثناء تنفيذ البرنامج و لا مطلوب منى أدخل قيمهم فى السطر هذا

imageToMovie.doIt(width, height, frameRate, inputFiles, oml);

---------------------------------------------------------------------------------------------------

النقطة التانية :

الراجل بعد ما عمل

if (args.equals("-w")) {
		i++;
		if (i >= args.length)
		    prUsage();
		width = new Integer(args).intValue();
	    } else if (args.equals("-h")) {
		i++;
		if (i >= args.length)
		    prUsage();
		height = new Integer(args).intValue();
	    } else if (args.equals("-f")) {
		i++;
	.
        .
        .

راح عمل كده

 outputURL = args;

ثم مرر ال outputUrl للدالة createMediaLocator(outputURL)

if ((oml = createMediaLocator(outputURL)) == null) {

System.err.println("Cannot build media locator from: " + outputURL);

System.exit(0);

}

مالهدف من ذلك

معلش اسئلتى كتيرة بس استحمولنى

#15

لو سمحت يا جماعة أنا مواجه مشكلة فى تشغيل ال code هذا .

لما بعمله run بيعطينى

Usage: java JpegImagesToMovie -w <width> -h <height> -f <frame rate> -o <output URL> <input JPEG file 1> <input JPEG file 2> ...

فا فكرت

فى السطر هذا

imageToMovie.doIt(width, height, frameRate, inputFiles, oml);

استبدله ب

imageToMovie.doIt(320, 240, 1, c:\\picture\\1.jbeg, oml);

بيعترض و ليه حق

إذن كيف يتم التشغيل .

و ياريت من لديه طريقة أسهل من خلال ال Jmf لتكوين فديو من صور bmp يقول

أنا تبعت جدا جدا منها

شكراً

#16

يا بيشوي, أنا عارف إنك مزنوق و دي أيام صعبه, بس شغل دماغك شويه....

دلوقتي الدالة دي:

imageToMovie.doIt

إيه هو ال parameters بتاعها؟

أدي التصريح بتاعها:

public boolean doIt(int width, int height, int frameRate, Vector inFiles, MediaLocator outML)

بعد حذف الكود الزائد: تفضل دالة ال main :

	public static void main(String args[]) {
		Vector inputFiles = new Vector();
		inputFiles.addElement("/path/to/infput/image1");
		inputFiles.addElement("/path/to/infput/image2");
		inputFiles.addElement("/path/to/infput/image3");

		String outputURL = "/path/to/.mov/or/.MOV/file";
		int width = 200, height = 400; // should be > 0
		int frameRate = 10; // should be >= 1

		MediaLocator oml = createMediaLocator(outputURL);		// should end with .mov or .MOV
		JpegImagesToMovie imageToMovie = new JpegImagesToMovie();
		imageToMovie.doIt(width, height, frameRate, inputFiles, oml);
	}

ملاحظه: لم أقم بإختبارها

#17

هههههههههههههههههههههههههه

هموت على نفسى من الضحك . يا أستاذ هويدى مش فكرة مزنوق فكرة كنت نايم على نفسى و أنا بفكر و مش جاية معايا أى حاجة

و كلمت الأخ وجدى " كتر خيره إنه استحملنى " و قال نفس كلامك الغى كل ال if إلى فى ال Main

معلش ياشباب و لكن هناك مشكلة أخرى تستحق أن أفتحها فى موضوع جديد . بخصوص ال formate

شكراً لكم جميعاً

#18
mr.beshoy كتب:

هههههههههههههههههههههههههه

هموت على نفسى من الضحك . يا أستاذ هويدى مش فكرة مزنوق فكرة كنت نايم على نفسى و أنا بفكر و مش جاية معايا أى حاجة

و كلمت الأخ وجدى " كتر خيره إنه استحملنى " و قال نفس كلامك الغى كل ال if إلى فى ال Main

معلش ياشباب و لكن هناك مشكلة أخرى تستحق أن أفتحها فى موضوع جديد . بخصوص ال formate

شكراً لكم جميعاً

السلام عليكم ايها الاخوة

لقد قرأت هذا الموضوع ووصلت الى طريق مسدود ولم اعلم كيف اشغل الكود

وانني بامس الحاجة اليه

فارجو منكم مساعدتي ولكم جزيل الشكر

مواضيع مشابهة