Be a Trainer! Share your knowledge.
Home » Apps review » Termux » বিশেষ সফটওয়্যার ছাড়াই শুধু termux দিয়ে ভিডিও কনভার্ট করুন

বিশেষ সফটওয়্যার ছাড়াই শুধু termux দিয়ে ভিডিও কনভার্ট করুন

কখনো কখনও আমাদের ভিডিও কনভার্ট করতে হয় বা ভিডিও থেকে অডিও ফাইল এক্সপোর্ট করতে হয়। এসময় আমরা কি করতে অভ্যস্ত? আমরা কিছু নির্দিষ্ট সফটওয়্যার ব্যবহার করি। কিন্তু, আপনি যদি Termux ব্যবহার করেন, তাহলে আপনার FFmpeg ছাড়া অন্য কোনো অ্যাপ্লিকেশনের প্রয়োজন নেই।

Ffmpeg একটি বিনামূল্যের এবং ওপেন সোর্স CLI সফটওয়্যার। FFmpeg এর সাহায্যে, আপনি ভিডিও কনভার্টার সফ্টওয়্যারে যা করতে পারেন তা প্রায় সবই করতে পারেন। আসলে, বেশিরভাগ ভিডিও কনভার্টার সফ্টওয়্যার FFmpeg দ্বারাই নির্মিত হয়।

এই আর্টিকেলে, আমি আপনাকে কোনো FFmpeg কমান্ড শেখাব না। পরিবর্তে, আমি আপনাকে একটি শেল স্ক্রিপ্ট দেব। সেই স্ক্রিপ্টের সাহায্যে যে কেউ সহজেই একটি ভিডিও কনভকর্ট করতে পারবে। বিভিন্ন কোয়ালিটির সাথে ভিডিও থেকে অডিও কনভার্ট, ভিডিওকে 360p, 480p, 720p, 1080p রেজোলিউশনে কনভার্ট করা। ভিডিও বিটরেট পরিবর্তন করা। ইত্যাদি।

ইনস্টলেশন

কিছু করার আগে, আমাদের Termux সিস্টেম আপডেট এবং আপগ্রেড করতে হবে, তাই এই কমান্ডটি চালান।

apt-get update & apt-get upgrade -y

এখন আপনার Termux এ FFmpeg ইনস্টল করুন

apt install ffmpeg

ইনস্টলেশন নিশ্চিত করতে এখন ভার্সন চেক করুন।

ffmpeg -version

এখন এই কমান্ডটি ব্যবহার করে Termux এর বিন ফোল্ডারে যান

cd ~/../usr/bin/

এই সময়ে, এই কমান্ডটি ব্যবহার করে একটি ফাইল তৈরি করুন। এটি “convert_video.sh” নামে একটি ফাইল তৈরি করবে এবং এডিটর মাধ্যমে খুলবে। দ্রষ্টব্য: আপনি আপনার পছন্দ মতো অন্য কোনো নাম ব্যবহার করতে পারেন।

nano convert_video.sh

 

এখন নিচের কোড টি কপি করুন। কোড টি কপি করা না গেলে এখান থেকে কপি করুন।

 

#!/bin/bash

# Check if ffmpeg is installed
if ! command -v ffmpeg &> /dev/null; then
  echo "ffmpeg is not installed. Please install ffmpeg and try again."
  exit 1
fi

# Function to convert video to audio using the selected audio quality
function convert_to_audio() {
  local input_file=$1

  # Output audio file with the same name but ".mp3" extension
  local output_file="${input_file%.*}.mp3"

  # Check if the output file already exists
  if [ -f "$output_file" ]; then
    echo "Output file already exists: $output_file"
    exit 1
  fi

  # Audio quality options
  local quality_options=("128K" "192K" "256K" "320K")

  # Function to convert video to audio using the selected audio quality
  function convert_audio() {
    local selected_quality=${quality_options[$selected_index]}
    echo "Conversion in progress..."
    ffmpeg -i "$input_file" -b:a "$selected_quality" -vn "$output_file" ## 2> /dev/null
    echo "Conversion complete. The audio file is saved as: $output_file"
    exit 0
  }

  # Main loop for audio conversion
  while true; do
    clear
    echo "Audio Conversion Options:"
    echo "1) Convert to MP3"
    echo "2) Back to Main Menu"
    read -p "Enter your choice: " audio_choice

    case $audio_choice in
      1)
        # Display audio quality options
        clear
        echo "Select Audio Quality:"
        for i in "${!quality_options[@]}"; do
          echo "$(($i+1))) ${quality_options[$i]}"
        done
        read -p "Enter the number for the desired audio quality: " selected_index

        # Check if the selected index is within the valid range
        if [[ "$selected_index" =~ ^[0-9]+$ ]] && ((selected_index >= 1 && selected_index <= ${#quality_options[@]})); then
          selected_index=$((selected_index - 1))
          convert_audio
        else
          echo "Invalid selection. Please try again."
        fi
        ;;
      2)
        exit 0
        ;;
      *)
        echo "Invalid choice. Please try again."
;; esac done } # Function to convert video to different video quality options function convert_to_video() { local input_file=$1 # Output video file with the same name but different quality and extension local output_file_base="${input_file%.*}" local output_file="" local selected_resolution="" local bitrate="" # Video quality options local resolution_options=("1920:1080" "1280:720" "854:480" "640:360") # Function to convert video using the selected resolution and bitrate function convert_video() { echo "Conversion in progress..." # Check if bitrate is set if [ -n "$bitrate" ]; then ffmpeg -i "$input_file" -b:v "$bitrate" -c:v libx264 -preset medium -vf "scale=$selected_resolution" "$output_file" ## 2> /dev/null else ffmpeg -i "$input_file" -c:v libx264 -preset medium -vf "scale=$selected_resolution" "$output_file" ## 2> /dev/null fi echo "Conversion complete. The video file is saved as: $output_file" exit 0 } # Main loop for video conversion while true; do clear echo "Video Conversion Options:" echo "1) Convert to different video resolution" echo "2) Back to Main Menu" read -p "Enter your choice: " video_choice case $video_choice in 1) # Display video resolution options clear echo "Select Video Resolution:" for i in "${!resolution_options[@]}"; do echo "$(($i+1))) ${resolution_options[$i]}" done read -p "Enter the number for the desired video resolution: " selected_index # Check if the selected index is within the valid range if [[ "$selected_index" =~ ^[0-9]+$ ]] && ((selected_index >= 1 && selected_index <= ${#resolution_options[@]})); then selected_index=$((selected_index - 1)) selected_resolution="${resolution_options[$selected_index]}" # Display bitrate options clear echo "Select Bitrate Option for $selected_resolution:" echo "1) Default Bitrate" echo "2) Custom Bitrate" read -p "Enter your choice: " bitrate_choice case $bitrate_choice in 1) bitrate="" ;; 2) read -p "Enter the custom bitrate (e.g., 1000k): " bitrate ;; *) echo "Invalid choice. Using default bitrate." ;; esac # Set output file name output_file="${output_file_base}_${selected_resolution}.mp4" convert_video else echo "Invalid selection. Please try again." fi ;; 2) exit 0 ;; *) echo "Invalid choice. Please try again." ;; esac
done } # Main loop for the program while true; do clear echo "Main Menu:" echo "Script created by:" echo " ( ) ) ( )\ ) ( /( ( /( ( ( )\ (()/( )\()) )\())( ( )\ )\((((_)( /(_)|(_)\ ((_)\ )\ )((_) ((_))\ _ )\(_)) ((_)_ ((_|(_|(_)_ | __(_)_\(_) __| / _ \ \ / / __| _ ) | _| / _ \ \__ \| (_) \ V /| _|| _ \ |___/_/ \_\|___/ \___/ |_| |___|___/ twitter.com/easoyeb " echo "1) Convert Video to Audio" echo "2) Convert Video to Different Video Quality" echo "3) Exit" read -p "Enter your choice: " main_choice case $main_choice in 1) if [ $# -eq 0 ]; then echo "Please provide a video file as an argument." exit 1 fi convert_to_audio "$1" ;; 2) if [ $# -eq 0 ]; then echo "Please provide a video file as an argument." exit 1 fi convert_to_video "$1" ;; 3) echo "Exiting the program. Goodbye!" exit 0 ;; *) echo "Invalid choice. Please try again." ;; esac done

এখন ফাইলটি সংরক্ষণ করতে CTRL + S এবং ন্যানো এডিটর থেকে বের হতে CTRL + X ব্যবহার করুন।

আমাদের ফাইলের পারমিশন পরিবর্তন করতে হবে; অন্যথায়, আমরা স্ক্রিপ্ট রান করতে পারবো না। এটি করতে, এই কমান্ডটি চালান।

chmod +x convert_video.sh

হেয়ার উই গো;  আমরা Termux bin ফোল্ডারে একটি ফাইল তৈরি করি। এবং সেই ফাইলটিকে পারমিশন ও প্রদান করি। এর মানে আমরা এখন থেকে Termux-এর যেকোনো জায়গা থেকে convert_video.sh, ফাইল অ্যাক্সেস করতে পারবো।

ব্যবহার

এখন cd কমান্ড ব্যবহার করে একটি ভিডিও ফাইল আছে এমন ফোল্ডারে যান। আপনি যদি আপনার স্টোরেজ অ্যাক্সেস করতে না পারেন, তাহলে এই কমান্ডটি ব্যবহার করুন। এই কমান্ডটি আপনার ইন্টার্নাল স্টোরেজ অ্যাক্সেস দেবে।

termux-setup-storage

আপনার ইন্টার্নাল স্টোরেজ অ্যাক্সেস করতে, এই পাথ storage/shared/-এ যান, অথবা আপনি এই কমান্ডটি ব্যবহার করতে পারেন।

cd ~/storage/shared

এখন আপনি আপনার নির্দিষ্ট ফোল্ডার অ্যাক্সেস করতে পারেন, যার ভিডিও ফাইল আছে যা আপনি কনভার্ট করতে চান।

এখানে, আমি আমার ইন্টার্নাল স্টোরেজের “ভিডিও” ফোল্ডারে অবস্থিত একটি ভিডিও কে অডিও ফাইলে কনভার্ট করতে চাই৷ তাই আমাকে এই “cd ~/storage/shared” কমান্ডটি ব্যবহার করে প্রথমে ইন্টার্নাল ফোল্ডারে প্রথমে যেতে হবে, এবং কাঙ্খিত ফোল্ডারে ঢুকতে হবে যেখানে ভিডিও টি আছে।

এখন আমাদের “convert_video.sh” স্ক্রিপ্ট চালানোর সময়। এবার যে ফাইলটি কনভার্ট করতে চাই সেটিও আমাদের লিখে দিতে হবে।

convert_video.sh myVideo.mp4

এখানে আমরা convert_video.sh স্ক্রিপ্টের পরে একটি ভিডিও ফাইলের নাম লিখি। ধরুন আপনার ভিডিওর নাম হল “NewVideo.mp4” তাহলে একটি উদাহরন হিসাবে convert_video.sh এর পরে NewVideo.mp4 লিখতে হবে।

উপরের কমান্ডটি রান করার পরে, আপনি এরকম কিছু দেখতে পাবেন।

এখানে আমি ভিডিও ফাইলটিকে অডিওতে রূপান্তর করতে চাই, তাই আমি 1 লিখে এন্টার টিপে প্রথম অপশন টি নির্বাচন করি।

এখন আবার, অপশন1 নির্বাচন করি (Convert to Mp3)।

এবং এখন, আপনি কোন কোয়ালিটির সাথে কনভার্ট করতে চান? আমি 128k চাই, তাই আমি 1টি অপশন সিলেক্ট করি।

এখন কনভার্সন শুরু করতে এন্টার টিপুন।

কনভার্ট সম্পন্ন হলে নিচের মতো দেখতে পাবেন। কনভার্ট শেষ নতুন ফাইল টি সেভ হবে একই ফোল্ডারে।

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

আমাদের একটি প্রশ্ন উত্তর এর সাইট রয়েছে যেটা ভিজিট করার আমত্রন জানিয়ে এখানেই শেষ করছি। আর্টিকেল টি পড়ার জন্য ধন্যবাদ।

1 month ago (Mar 17, 2024)

About Author (44)

SOYEB
author

Trickbd কে ভালোবাসি(){ প্রযুক্তি কে ভালোবাসি } ফেসবুকে আমি fb.com /estiaksoyeb1 | আমার ব্লগ সাইট

Trickbd Official Telegram

3 responses to “বিশেষ সফটওয়্যার ছাড়াই শুধু termux দিয়ে ভিডিও কনভার্ট করুন”

  1. jepiyo9479 Contributor says:

    ভাই এটা কোনো পোস্ট হলো? জাস্ট ffmpeg use করা হইছে এর থেকে কোনো gui app use করলেই হতো 💀

    • SOYEB Author Post Creator says:

      এই কারণেই আজ trickbd এর এই অবস্থা, কারন আপনারা অথর কে রেসপেক্ট করতে জানেন না।

    • jepiyo9479 Contributor says:

      এটা রেস্পেক্ট এর যোগ্য? বলেন আপনি?

Leave a Reply

Switch To Desktop Version