আমি কীভাবে অটোমেটারে শেল স্ক্রিপ্ট প্রতিধ্বনি করতে পারি?


2

আমার একটি অটোমেটার পরিষেবা রয়েছে যা শেল স্ক্রিপ্ট চালায় (ffmpeg কমান্ড)।
আমি টার্মিনালের আউটপুট দেখার জন্য একটি উপায় খুঁজছি যখন ffmpeg এটি কাজ করে।
যোগ করার পদ্ধতি echoffmpeg কমান্ড কাজ করে না। আমি পড়েছি অ্যাপলস্ক্রিপ্ট ব্যবহার করে এটি অর্জন করা যেতে পারে তবে আমি সম্ভব হলে ব্যাশে থাকতে চাই।
আরও, ট্রান্সকোডিংয়ের একটি অগ্রগতি বার উপস্থাপন করা কেবল দুর্দান্ত।
আমার অটোমেটরের ক্রিয়াটি এটির মতো দেখাচ্ছে:
এখানে চিত্র বর্ণনা লিখুন


সমস্যাটি বরং অটোমেটর-সম্পর্কিত হতে পারে (কারণ সরাসরি শেলের মধ্যে ffmpeg চালানো আউটপুট উত্পাদন করে)। তাহলে আপনি প্রথমে অটোমেটার (শেল স্ক্রিপ্টের পরিবর্তে) ব্যবহার করার কোনও নির্দিষ্ট কারণ আছে কি?
নোহিলসাইড

এছাড়াও, আপনি কি দয়া করে প্রশ্নটিতে আপনার অটোমেটর ওয়ার্কফ্লোটির একটি স্ক্রিনশট যুক্ত করতে পারেন (এটি করতে নীচে সম্পাদনা বোতামটি ব্যবহার করুন)?
নোহিলসাইড

অটোমেটার পরিষেবা আমাকে এনকোডিংয়ের কাজ শুরু করতে মিডিয়া ফাইলটিতে ডান ক্লিক করতে দেয়। আমি এনকোডযুক্ত ফাইলের জন্য একটি লক্ষ্য ডিরেক্টরিতে ব্যবহারকারীকে অনুরোধ করি।
o_ren

উত্তর:


1

আপনার শেল (ব্যাশ) স্ক্রিপ্টটি স্ক্রিনে নিয়মিত আউটপুট থেকে পেতে যাতে আপনি অগ্রগতি দেখতে পান, আপনার এটি অ্যাপলস্ক্রিপ্ট থেকে চালু করতে হবে। মূলত, এটি এমন একটি স্ক্রিপ্ট যা অন্য স্ক্রিপ্ট চালু করে। আপনার ffmpeg কমান্ড থাকা স্ক্রিপ্টটিকে কিক করতে নীচের স্ক্রিপ্টটি ব্যবহার করুন। আপনি সাধারণত আপনার স্ক্রিপ্টে তর্কগুলিও পাস করতে পারেন।

এই উদাহরণস্বরূপ, আমার কাছে একটি সরল বাশ স্ক্রিপ্ট রয়েছে যা প্রথম কমান্ড লাইনের যুক্তি প্রিন্ট করে।

#! /bin/bash
# test.sh
echo $1
exit

এর পরে, অ্যাপলস্ক্রিপ্ট কোডটি হ'ল বাশ স্ক্রিপ্টটি বন্ধ করে দেয়

tell application "Terminal"
   do script "<path>/test.sh 'Hello World'; exit"
   activate
end tell

দ্রষ্টব্য, আপনার যে শূন্যস্থানগুলি পাস করতে হবে তার সাথে যদি আপনার কোনও স্ট্রিং থাকে তবে সেগুলি অবশ্যই একক উদ্ধৃতিতে আবদ্ধ থাকতে হবে । ডাবল উদ্ধৃতিগুলি অ্যাপলস্ক্রিপ্টে ত্রুটির কারণ ঘটবে।

আপনি যখন স্ক্রিপ্টটি চালাবেন, এটি একটি টার্মিনাল উইন্ডোটি খুলবে এবং আউটপুট পাওয়া যে কোনও কিছুই স্ক্রিনে প্রদর্শিত হবে।


কনসোলে, আমি কোনও ffmpeg বা বাশ আউটপুট দেখতে পাচ্ছি না। আমি "অটোমেটার রানার" এবং "উইন্ডো সার্ভার" দেখছি ... এছাড়াও, আপনি কীভাবে "ভেরিয়েবলের বিষয়বস্তু আউটপুট" করবেন? ফলাফল কর্ম দেখুন? সম্ভবত প্রদর্শন বিজ্ঞপ্তি কর্ম?
o_ren

ওহো ... আমি কনসোলটিতে পুনঃনির্দেশ যোগ করতে ভুলে গেছি। আমি উত্তর দ্বারা সম্পাদিত।
অ্যালান

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

আপনি যদি কেবল কোনও পরীক্ষার জন্য আউটপুটটিকে কোনও ফাইলে পুনর্নির্দেশ করেন তবে তা কি কাজ করে? শুধু ffmpeg ফাইলের শেষে> test.txt যুক্ত করুন।
অ্যালান

আউটপুটটিকে রিয়েল টাইম হিসাবে দেখতে চাওয়ার সাথে আমি "অগ্রগতি বার" সম্পর্কিত করিনি। আমি আমার উত্তরটি সংশোধন করেছি - এটি অনুরোধ অনুসারে আউটপুট প্রদর্শন করা উচিত।
অ্যালান
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.