সমস্যা সমাধান

যদি আপনি OpenShot-এ ফ্রিজ, ক্র্যাশ বা ত্রুটি বার্তার মতো কোনো সমস্যা অনুভব করেন, তাহলে সমস্যাটি সমাধানের জন্য অনেক বিভিন্ন কৌশল ব্যবহার করা যেতে পারে।

সমস্যা সমাধানের জন্য লগ ব্যবহার করা

একটি লগ হল একটি টেক্সট ফাইল যা OpenShot কী করছে তা রেকর্ড করে, সতর্কতা এবং ত্রুটিসহ। এই ফাইলগুলি সহায়তা দলকে একটি সমস্যা বুঝতে সাহায্য করতে পারে, এমনকি যখন আপনি স্ক্রিনে কোনো ত্রুটি বার্তা দেখতে পান না।

OpenShot আপনার হোম ফোল্ডারের ভিতরে .openshot_qt ফোল্ডারে দুটি লগ ফাইল রাখে। Linux এবং macOS-এ, এই অবস্থানটি ~/.openshot_qt/ হিসেবে লেখা হয়। ফোল্ডারটি আপনার ফাইল ম্যানেজারে লুকানো থাকতে পারে।

দুটি লগ ফাইল

ফাইল

এটি কী রেকর্ড করে

openshot-qt.log

এডিটরে কার্যকলাপ: OpenShot শুরু করা, প্রকল্প লোড করা, সেটিংস পরিবর্তন করা, এবং ইন্টারফেস ব্যবহার করা। সাধারণত সমস্যা তদন্তের জন্য এটি শুরু করার সেরা স্থান।

libopenshot.log

OpenShot-এর ভিডিও এবং অডিও ইঞ্জিনে কার্যকলাপ, যা মিডিয়া পড়ে এবং প্রিভিউ ও রপ্তানি করা ভিডিওতে ব্যবহৃত ছবি ও শব্দ তৈরি করে। বিস্তারিত ইঞ্জিন লগিং প্লেব্যাক এবং রপ্তানি সমস্যাগুলি তদন্তে সাহায্য করতে পারে।

এই ফাইলগুলি একই অ্যাপ্লিকেশনের বিভিন্ন অংশ রেকর্ড করে। সমস্যা রিপোর্ট করার সময়, উভয় ফাইল অন্তর্ভুক্ত করুন যদি পাওয়া যায়। আপনাকে প্রতিটি লাইন নিজে বুঝতে হবে না।

OpenShot-এর কোন অংশ লগ করবেন তা নির্বাচন করুন

এই দুটি সেটিংস খুঁজে পেতে সম্পাদনা → পছন্দসমূহ → উন্নত খুলুন:

পছন্দসমূহ এবং মিলিত টার্মিনাল বিকল্পসমূহ

পছন্দ

মিলিত আর্গুমেন্ট

লগ ফাইল

ইউজার ইন্টারফেস ডিবাগ লগিং

--debug-ui

openshot-qt.log

ভিডিও ও অডিও ইঞ্জিন ডিবাগ লগিং

--debug-engine

libopenshot.log

দুটি পছন্দই ডিফল্টভাবে বন্ধ থাকে, যা সাধারণ সারাংশ বার্তাগুলো রাখে। একটি চালু করলে তা তার লগ ফাইলে অবিলম্বে বিস্তারিত যোগ করে। এটি অন্য লগ পরিবর্তন করে না বা টার্মিনালে বার্তা যোগ করে না। পছন্দসমূহ চালু থাকে যতক্ষণ না আপনি সেগুলো বন্ধ করেন।

ইউজার ইন্টারফেস ডিবাগ লগিং শুরু, প্রকল্প লোড, সেটিংস বা ইন্টারফেসের সমস্যার জন্য একটি ভাল শুরু পয়েন্ট। ভিডিও ও অডিও ইঞ্জিন ডিবাগ লগিং ভিডিও ও অডিও প্রক্রিয়াকরণের বিস্তারিত যোগ করে, যা প্লেব্যাক এবং রপ্তানি সমস্যাগুলি তদন্তে সাহায্য করতে পারে। ইঞ্জিন লগ দ্রুত বৃদ্ধি পেতে পারে এবং OpenShot ধীর করতে পারে। সমস্যাটি পুনরাবৃত্তি করার ঠিক আগে এই সেটিং চালু করুন, তারপর পরে বন্ধ করুন।

ইঞ্জিন পছন্দটি পূর্বে ডিবাগ মোড (বিস্তারিত) নামে পরিচিত ছিল। এর সংরক্ষিত চালু/বন্ধ সেটিং নতুন নামেও বহাল থাকে।

একবার চালানোর জন্য টার্মিনাল ব্যবহার করুন

টার্মিনাল হল একটি উইন্ডো যেখানে আপনি কমান্ড টাইপ করেন। মিলিত আর্গুমেন্টগুলি পছন্দসমূহের মতো একই অতিরিক্ত বিস্তারিত সক্ষম করে এবং এটি টার্মিনালেও প্রদর্শন করে:

openshot-qt --debug-ui

এটি একবার চালানোর জন্য ইন্টারফেসের বিস্তারিত রেকর্ড করে। পরিচিত --debug এবং সংক্ষিপ্ত -d অপশনগুলি --debug-ui এর সমান অর্থ বহন করে। ভিডিও ও অডিও ইঞ্জিনের বিস্তারিত জন্য ব্যবহার করুন:

openshot-qt --debug-engine

উভয় ধরনের বিস্তারিত একসাথে সংগ্রহ করতে:

openshot-qt --debug-ui --debug-engine

সমস্যা সৃষ্টিকারী ধাপগুলি পুনরাবৃত্তি করুন, তারপর OpenShot বন্ধ করুন এবং লগ সংগ্রহ করুন। এই আর্গুমেন্টগুলি আপনার সংরক্ষিত পছন্দ পরিবর্তন করে না। OpenShot সাধারণভাবে শুরু করলে আপনার স্বাভাবিক লগিং সেটিংসে ফিরে যায়।

openshot-qt.log প্রায় ২৫ এমবি পৌঁছালে একটি নতুন ফাইল শুরু করে এবং তিনটি পুরানো কপি রাখে। libopenshot.log বার্তা যোগ হওয়ার সাথে সাথে বাড়তে থাকে। প্রয়োজনীয় লগ সংরক্ষণ করার পর, OpenShot বন্ধ থাকা অবস্থায় পুরানো লগ ফাইলগুলি মুছে ফেলতে পারেন।

অন্যান্য কমান্ড-লাইন বিকল্পসমূহ

অধিকাংশ ব্যবহারকারীর জন্য উপরের দুটি নিয়ন্ত্রণই যথেষ্ট। নিম্নলিখিত বিকল্পগুলি আপনাকে নির্ধারণ করতে দেয় ফাইলগুলোতে কতটা বিস্তারিত যাবে বা টার্মিনালে কতটা প্রদর্শিত হবে। এখানে, কনসোল মানে টার্মিনাল আউটপুট।

লগিং বিকল্পসমূহ

বিকল্প

এটি কী করে

--debug-ui, --debug, অথবা -d

এর ফাইল এবং টার্মিনালে ইউজার ইন্টারফেস ডিবাগ লগিং সক্ষম করে।

--debug-engine

এর ফাইল এবং টার্মিনালে ভিডিও ও অডিও ইঞ্জিন ডিবাগ লগিং সক্ষম করে।

--debug-file

টার্মিনাল বিস্তারিত যোগ না করে openshot-qt.log এ এডিটরের বিস্তারিত যোগ করে।

--debug-console

ফাইলের বিস্তারিত যোগ না করে টার্মিনালে এডিটরের বিস্তারিত যোগ করে।

--log-level LEVEL

উভয় লগ এবং তাদের টার্মিনাল আউটপুটের জন্য বিস্তারিত নির্ধারণ করে।

--log-file-level LEVEL

উভয় লগ ফাইলের জন্য বিস্তারিত নির্ধারণ করে, টার্মিনাল সেটিংস অপরিবর্তিত রেখে।

--log-console-level LEVEL

এডিটর এবং ইঞ্জিন উভয়ের জন্য টার্মিনালে বিস্তারিত নির্ধারণ করে, ফাইল সেটিংস অপরিবর্তিত রেখে।

বিস্তারিত বার্তার জন্য LEVEL এর পরিবর্তে debug ব্যবহার করুন অথবা সাধারণ সারাংশের জন্য info। warning সতর্কতা এবং ত্রুটি দেখায়; error ত্রুটি এবং গুরুতর ব্যর্থতা দেখায়; critical শুধুমাত্র গুরুতর ব্যর্থতা দেখায়। off সাধারণ লগ বার্তা বন্ধ করে, তবে বিদ্যমান ক্র্যাশ ডায়াগনস্টিক এখনও লেখা হতে পারে। বড় হাতের নাম যেমন DEBUG ও কাজ করে।

উদাহরণস্বরূপ, টার্মিনালকে তার স্বাভাবিক স্তরে রেখে উভয় ফাইলে বিস্তারিত বার্তা সংগ্রহ করতে:

openshot-qt --log-file-level debug

এটি বড় ইঞ্জিন লগও সক্রিয় করে, তাই এটি সংক্ষিপ্ত সময়ের জন্য ব্যবহার করুন। পুরানো --debug-file এবং --debug-console বিকল্পগুলি এখনও কাজ করে যদিও সেগুলি --help এ তালিকাভুক্ত নয়।

পরিবেশ ভেরিয়েবল

পরিবেশ ভেরিয়েবল হল একটি নামকৃত সেটিং যা প্রোগ্রাম শুরু করার সময় প্রেরণ করা হয়। এগুলি স্ক্রিপ্ট থেকে OpenShot চালানোর সময় বা যখন সহায়তা ব্যক্তি আপনাকে একটি নির্দিষ্ট সেটিং চেষ্টা করতে বলে তখন উপকারী। সাধারণ ব্যবহারের জন্য এগুলি সেট করার প্রয়োজন নেই।

ঐচ্ছিক পরিবেশ সেটিংস

ভেরিয়েবল

এটি কী নিয়ন্ত্রণ করে

OPENSHOT_LOG_LEVEL

উভয় ফাইল এবং টার্মিনালে বিস্তারিত।

OPENSHOT_LOG_FILE_LEVEL

শুধুমাত্র উভয় ফাইলে বিস্তারিত।

OPENSHOT_LOG_CONSOLE_LEVEL

শুধুমাত্র টার্মিনালে বিস্তারিত, OpenShot এর উভয় অংশের জন্য।

LIBOPENSHOT_LOG_LEVEL

ভিডিও এবং অডিও ইঞ্জিনের জন্য বিস্তারিত, এর ফাইল এবং টার্মিনালে।

LIBOPENSHOT_LOG_FILE_LEVEL

শুধুমাত্র libopenshot.log এ বিস্তারিত।

LIBOPENSHOT_LOG_CONSOLE_LEVEL

শুধুমাত্র টার্মিনালে ইঞ্জিনের বিস্তারিত।

উদাহরণস্বরূপ, এই Linux/macOS টার্মিনাল কমান্ড একবারের জন্য ইঞ্জিনের বিস্তারিত লগ ফাইলে চায়:

LIBOPENSHOT_LOG_FILE_LEVEL=debug openshot-qt

যদি সেটিংস ওভারল্যাপ করে, তাহলে কমান্ড-লাইন অপশন সর্বোচ্চ অগ্রাধিকার পায়, তারপরে পরিবেশ ভেরিয়েবল, তারপর পছন্দসমূহ, এবং শেষে সাধারণ ডিফল্ট। প্রতিটি নিয়ন্ত্রণ শুধুমাত্র তার বর্ণিত আউটপুটকে প্রভাবিত করে: --debug ইঞ্জিন পছন্দকে ওভাররাইড করে না। অস্থায়ী ওভাররাইড আপনার সংরক্ষিত পছন্দ পরিবর্তন করে না। যে কোনো চেকবক্সের উপর কার্সর রাখলে দেখা যাবে অন্য কোনো সেটিং সেই লগ ফাইল নিয়ন্ত্রণ করছে কিনা।

পরিবেশ সেটিংসের মধ্যে, ইঞ্জিনের জন্য LIBOPENSHOT_ মানগুলি OPENSHOT_ মানের চেয়ে অগ্রাধিকার পায়। যেকোনো গ্রুপের মধ্যে, শুধুমাত্র ফাইল বা শুধুমাত্র কনসোল স্তর সাধারণ স্তরের চেয়ে অগ্রাধিকার পায়। কমান্ড-লাইন অপশন একই ফাইল/কনসোল নিয়ম অনুসরণ করে। একই আউটপুটের জন্য বিরোধপূর্ণ কমান্ড-লাইন স্তর প্রত্যাখ্যাত হয়; অবৈধ পরিবেশ স্তর রিপোর্ট করা হয় এবং উপেক্ষা করা হয়।

পুরানো স্ক্রিপ্টের জন্য, LIBOPENSHOT_DEBUG উপস্থিত থাকলেই টার্মিনালে ইঞ্জিনের বিস্তারিত বার্তা সক্রিয় করে, এমনকি এর মান 0 হলেও। নতুন স্তর সেটিংস এর চেয়ে অগ্রাধিকার পায়। LIBOPENSHOT_LOG_FILE আলাদাভাবে ইঞ্জিন ব্যবহারকারী প্রোগ্রামের জন্য; OpenShot নিজেই উপরের লগ ফোল্ডার ব্যবহার করে। লগিং সেটিংস পরিবর্তন করলে আপনার ত্রুটি-রিপোর্টিং পছন্দ পরিবর্তিত হয় না।

Windows 11 প্রতিক্রিয়াহীন

যদি আপনি Windows 11-এ ফ্রিজ অনুভব করেন, এটি PyQt5 এবং Windows 11-এর একটি পরিচিত সমস্যা, যা Qt-এর অ্যাক্সেসিবিলিটি ফিচারগুলোর সাথে সম্পর্কিত। এটি OpenShot-এ Ctrl+C চাপানোর মাধ্যমে ঘটে (শুধুমাত্র Windows 11-এ). OpenShot প্রতিক্রিয়াহীন হয়ে যাবে এবং একটি মেমরি লিকও থাকবে (অর্থাৎ OpenShot যতক্ষণ প্রতিক্রিয়াহীন থাকবে, আপনার মেমরি লিক তত বড় হবে যতক্ষণ না OpenShot শেষ পর্যন্ত ক্র্যাশ করে বা ব্যবহারকারী প্রক্রিয়াটি বন্ধ করে)।

একটি সহজ সমাধান হলো Windows 11-এ Ctrl+C এড়িয়ে চলা এবং পরিবর্তে রাইট-ক্লিক করে Copy/Paste মেনু ব্যবহার করা। আরেকটি সমাধান হলো আপনার "Copy" কীটি Ctrl+C থেকে অন্য কোনো কীতে, যেমন Alt+C-তে পুনঃনির্ধারণ করা। আপনি OpenShot Preferences-এ আপনার কীবোর্ড ম্যাপিং পরিবর্তন করতে পারেন। দেখুন কীবোর্ড।

Windows-এ GDB দিয়ে ডিবাগিং

যদি আপনি Windows 10/11-এ OpenShot-এ ক্র্যাশ বা ফ্রিজ অনুভব করেন, নিম্নলিখিত ধাপে ধাপে নির্দেশনাগুলো আপনাকে ক্র্যাশের কারণ নির্ধারণে সাহায্য করবে। এই নির্দেশনাগুলো ক্র্যাশের স্থানে OpenShot-এর সোর্স কোডের স্ট্যাক ট্রেস দেখাবে। এই তথ্য আমাদের ডেভেলপমেন্ট টিমের জন্য অত্যন্ত গুরুত্বপূর্ণ এবং বাগ রিপোর্টে সংযুক্ত করার জন্য খুবই উপকারী (দ্রুত সমাধানের জন্য)।

সর্বশেষ দৈনিক বিল্ড ইনস্টল করুন

ডিবাগার সংযুক্ত করার আগে, অনুগ্রহ করে OpenShot-এর সর্বশেষ সংস্করণ ডাউনলোড করুন: https://www.openshot.org/download#daily। OpenShot-এর এই সংস্করণটি ডিফল্ট অবস্থানে ইনস্টল করুন: C:\Program Files\OpenShot Video Editor\। Windows-এ OpenShot ডিবাগিং সম্পর্কে বিস্তারিত নির্দেশনার জন্য, অনুগ্রহ করে এই উইকি দেখুন।

MSYS2 ইনস্টল করুন

OpenShot-এর Windows সংস্করণ MSYS2 নামক একটি পরিবেশ ব্যবহার করে কম্পাইল করা হয়েছে। আমাদের এক্সিকিউটেবল openshot-qt.exe-এ GDB ডিবাগার সংযুক্ত করতে হলে আপনাকে প্রথমে MSYS2 ইনস্টল করতে হবে। এই ধাপটি শুধুমাত্র একবারই প্রয়োজন।

  1. ডাউনলোড ও ইনস্টল করুন MSYS2: http://www.msys2.org/

  2. চালান MSYS2 MinGW x64 কমান্ড প্রম্পট (উদাহরণস্বরূপ: C:\msys64\msys2_shell.cmd -mingw64)

  3. সব প্যাকেজ আপডেট করুন (নিম্নলিখিত কমান্ড কপি/পেস্ট করুন):

    pacman -Syu
    
  4. GDB ডিবাগার ইনস্টল করুন (নিম্নলিখিত কমান্ড কপি/পেস্ট করুন):

    pacman -S --needed --disable-download-timeout mingw-w64-x86_64-toolchain
    

GDB ডিবাগার দিয়ে OpenShot চালু করুন

চালান MSYS2 MinGW x64 কমান্ড প্রম্পট (উদাহরণস্বরূপ: C:\msys64\msys2_shell.cmd -mingw64)

PATH আপডেট করুন (নিম্নলিখিত কমান্ডগুলো কপি/পেস্ট করুন):

export PATH="/c/Program Files/OpenShot Video Editor/lib:$PATH"
export PATH="/c/Program Files/OpenShot Video Editor/lib/PyQt5:$PATH"

OpenShot GDB ডিবাগারে লোড করুন (নিম্নলিখিত কমান্ডগুলো কপি/পেস্ট করুন):

cd "/c/Program Files/OpenShot Video Editor"/
gdb openshot-qt.exe

GDB প্রম্পট থেকে OpenShot চালু করুন (নিম্নলিখিত কমান্ড কপি/পেস্ট করুন):

run --debug

উচ্চ DPI / 4K মনিটর

OpenShot Video Editor উচ্চ DPI (ডটস পার ইঞ্চি) মনিটরগুলির জন্য শক্তিশালী সমর্থন প্রদান করে, যা নিশ্চিত করে যে ইন্টারফেসটি তীক্ষ্ণ দেখায় এবং বিভিন্ন DPI সেটিংস সহ ডিসপ্লেগুলিতে সহজে পড়া যায়। এই সমর্থনটি বিশেষত 4K মনিটর এবং অন্যান্য উচ্চ-রেজোলিউশনের ডিসপ্লেগুলিতে সহায়ক।

প্রতি মনিটর DPI সচেতনতা

OpenShot প্রতি মনিটর ভিত্তিতে DPI সচেতন, অর্থাৎ এটি প্রতিটি সংযুক্ত মনিটরের DPI সেটিংস অনুযায়ী তার স্কেলিং গতিশীলভাবে সামঞ্জস্য করতে পারে। এটি বিভিন্ন ডিসপ্লের মধ্যে একটি সঙ্গতিপূর্ণ অভিজ্ঞতা প্রদান করতে সাহায্য করে।

Windows-এ DPI স্কেলিং

Windows-এ, OpenShot ভিজ্যুয়াল অখণ্ডতা বজায় রাখতে স্কেলিং ফ্যাক্টরকে নিকটতম পূর্ণ সংখ্যায় রাউন্ড করে। এটি UI-তে ভিজ্যুয়াল ত্রুটি এড়াতে সাহায্য করে এবং ইন্টারফেস উপাদানগুলোকে স্পষ্ট ও সঠিকভাবে সজ্জিত রাখে। এই রাউন্ডিংয়ের কারণে, কিছু স্কেলিং বিকল্প প্রত্যাশার চেয়ে বড় ফন্ট এবং UI উপাদান তৈরি করতে পারে।

  • ১২৫% স্কেলিং রাউন্ড হয়ে হয় ১০০%

  • ১৫০% স্কেলিং রাউন্ড হয়ে হয় ২০০%

সূক্ষ্ম সামঞ্জস্যের জন্য বিকল্প পদ্ধতি

যদিও রাউন্ডিং পরিষ্কার ইন্টারফেস বজায় রাখতে সাহায্য করে, স্কেলিংয়ের উপর আরও সুনির্দিষ্ট নিয়ন্ত্রণ প্রয়োজন এমন ব্যবহারকারীদের জন্য বিকল্প পদ্ধতি রয়েছে। সম্ভাব্য ভিজ্যুয়াল ত্রুটির কারণে এই পদ্ধতিগুলো প্রস্তাবিত নয়:

  • QT_SCALE_FACTOR_ROUNDING_POLICY=PassThrough

    • এই পরিবেশ ভেরিয়েবল সেট করলে রাউন্ডিং নিষ্ক্রিয় করা যায় এবং আরও সুনির্দিষ্ট স্কেলিং সম্ভব হয়।

    • দ্রষ্টব্য: এটি বিশেষ করে টাইমলাইনে ভিজ্যুয়াল ত্রুটি সৃষ্টি করতে পারে এবং এটি প্রস্তাবিত নয়।

  • QT_SCALE_FACTOR=1.25 (অথবা অনুরূপ মান)

    • স্কেল ফ্যাক্টর ম্যানুয়ালি সেট করলে ফন্ট এবং UI স্কেলিংয়ে সূক্ষ্ম সামঞ্জস্য প্রদান করা যায়।

    • এটি পছন্দসমূহ (User Interface Scale) এর মাধ্যমে ও সেট করা যেতে পারে, তবে Windows-এ ভগ্নাংশ স্কেলে বর্ডার/লাইন সমস্যা আশা করুন।

    • দ্রষ্টব্য: এই পদ্ধতিও ভিজ্যুয়াল ত্রুটি সৃষ্টি করতে পারে এবং OpenShot ব্যবহারে অসুবিধা সৃষ্টি করতে পারে।

এই পরিবেশ ভেরিয়েবলগুলি সামঞ্জস্য করার বিষয়ে আরও তথ্যের জন্য, অনুগ্রহ করে https://github.com/OpenShot/openshot-qt/wiki/OpenShot-UI-too-large এ যান।