Ffmpeg তৈরি jpgs এর মান উন্নত করুন


29

আমি একটি আইপি ক্যামেরা থেকে এমজেপিগ ফিড নিতে এবং এটিকে এখনও জেপিগ চিত্রগুলির একটি সিরিজে রূপান্তর করতে ffmpeg ব্যবহার করছি। আমি যে কমান্ডটি ব্যবহার করছি তা এখানে:

ffmpeg -i http://xxx:xxx@xx.xx.xx.xx/vid.mjpg -f image2 -vcodec mjpeg %05d.jpg

স্টিল তৈরির জন্য ffmpeg ব্যবহার করার সময় কেউ কি jpg সংক্ষেপণের স্তর নির্দিষ্ট করার কোনও উপায় জানেন?

উত্তর:


36

এখানে আমার জন্য কৌশলটি শেষ করে:

ffmpeg -i http://xx.xx/mjpg/video.mjpg -q:v 1 %05d.jpg

-q:v 1টিকেট ছিল। এটি ভিডিও এনকোডারের মান নির্ধারণ করে, যেখানে -qমানে মানের এবং এর :vমানে ভিডিও। মানগুলি 1 থেকে 31 পর্যন্ত থাকে, যেখানে নিম্ন মানে আরও ভাল।


2
আমি জানি না এটি বহু বছর আগে উপলভ্য ছিল কিনা তবে আপনি যদি জেজেইজি উত্সগুলি এমজেপিজি থেকে অপরিবর্তিত উত্সটি চান তবে উত্তরটি এখানে রয়েছে: ffmpeg.org/ffmpeg-bitstream-filters.html#mjpeg2jpeg ---- সংক্ষেপে: -c:v copy -bsf:v mjpeg2jpegপরিবর্তে q:v 1
জুয়ানিটোগান

1
কেউ কি জানেন যে এটি কোনও ডিফল্ট মান ব্যবহার করে?
জে আর

@ জেআর। ওয়েলেন আমি কয়েকটি পরীক্ষা করেছি এবং আমার ক্ষেত্রে এটি কম (ভাল) শুরু হয়ে গেছে এবং কয়েক সেকেন্ড পরে ২৪.৮ (খারাপ) এ পৌঁছেছে বলে মনে হচ্ছে। কেন জানি না। ffmpegs বর্তমান মানের হিসাবে প্রদর্শন করে q। এখানে এটা 24.8 উদাহরণস্বরূপframe= 64 fps=5.0 q=24.8 Lsize=N/A time=00:00:16.00 bitrate=N/A dup=10 drop=299 speed=1.25x
problemofficer

6

$ ffmpeg -r 1/4 -i %03d.jpg -b 5000 -vcodec mjpeg -qscale 1 5000.avi

অথবা

$ ffmpeg -r 1/4 -i %03d.jpg -vcodec copy -qscale 1 copy.avi

রেফারেন্স:

r       delay between next jpg, results 4 second
b       bitrate
vcodec  use jpeg encode
qscale  quality ratio

কি বিস্কুট বিটরেট স্পেসিফায়ারের সাথে "প্রতিযোগিতা" করে, আমি অবাক হই?
রজারডপ্যাক

1
যা বলা হচ্ছে তার বিপরীত নয়? এটি jpeg থেকে mjpeg এর মত দেখাচ্ছে। এমজেপেইগ টু জেপিগ হ'ল জিজ্ঞাসা।
juanitogan

4

আপনি পিপিএম এ রফতানি করার চেষ্টা করতে এবং জেপিজিতে রূপান্তর করতে অন্য কিছু সরঞ্জাম ব্যবহার করতে পারেন।

আমি ffmpeg / libavcodec / mjpeg.c এ সন্ধান করেছি। আমি বিশ্বাস করি মানটি একটি নির্দিষ্ট মানকে সেট করা হয়।

এছাড়াও আপনি একটি এমজেপিইজি ভিডিওটিকে এখনও জেপিজি ফ্রেমে রূপান্তর করেছেন বলে মনে হচ্ছে। আমি মনে করি এই ক্ষেত্রে ffmpeg / libavcodec / mjpeg2jpeg_bsf.c কোডটি চালায় এবং ডেটা পুনরায় কোড করা হয়নি। সুতরাং চিত্রের মান কোনওভাবেই উন্নত হবে না।

এটি কোয়ান্টাইজেশন টেবিল সংজ্ঞা, আমি * ভাল_? সি এর কোনও উল্লেখ দেখতে পাইনি যেখানে ব্যবহারের আগে মানগুলি ছোট করা হয়েছিল aled

/* Set up the standard Huffman tables (cf. JPEG standard section K.3) */
/* IMPORTANT: these are only valid for 8-bit data precision! */
const uint8_t ff_mjpeg_bits_dc_luminance[17] =
{ /* 0-base */ 0, 0, 1, 5, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0 };
const uint8_t ff_mjpeg_val_dc[12] =
{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 };

const uint8_t ff_mjpeg_bits_dc_chrominance[17] =
{ /* 0-base */ 0, 0, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0 };

const uint8_t ff_mjpeg_bits_ac_luminance[17] =
{ /* 0-base */ 0, 0, 2, 1, 3, 3, 2, 4, 3, 5, 5, 4, 4, 0, 0, 1, 0x7d };
const uint8_t ff_mjpeg_val_ac_luminance[] =
{ 0x01, 0x02, 0x03, 0x00, 0x04, 0x11, 0x05, 0x12,

আমি পিপিএমের সাথে পরিচিত নই, তা কী?
ওয়েট

এছাড়াও, আমি যে jpgs তৈরি করছি তার তুলনায় ব্রাউজার থেকে ক্যামেরাটি অ্যাক্সেস করার সময় চিত্রগুলি আরও ভাল দেখায়। এজন্য আমি ভাবছিলাম কিছু সংক্ষেপণ ঘটছে।
ওয়েট

পিপিএম হ'ল সাধারণ রঙের চিত্রের ফর্ম্যাটটি আপনি কল্পনা করতে পারেন। এটি "P6 640 480 255 5 n" এর মতো একটি শিরোনাম এবং তারপরে কাঁচা ডেটা। আমি শুধু তাকিয়েছি। সম্ভবত এটি এই ফর্ম্যাটটিকে আউটপুট দিতে পারে না। তখন কেবলমাত্র অন্য বিকল্পটি হ'ল -ভিসি কাঁচাভিডিও। আপনি কি চেষ্টা করেছেন?

1
-vcodec ppmপিপিএম রফতানি করার জন্য প্রয়োজনীয়
হরমিং মনিকা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.