আমি কীভাবে শটওয়েলকে সমস্ত থাম্বনেইলগুলি পুনরায় তৈরি করব?


15

কিছু অজানা কারণে আমার থাম্বনেলগুলি আমার শটওয়েলে হারিয়ে গেছে, পরিবর্তে সমস্ত আইকন ধূসর। চিত্রগুলি নিজেরাই সব ঠিক আছে এবং আমি এগুলি সমস্ত শটওয়েলে খুলতে পারি।

এখানে খালি ফোল্ডার রয়েছে .shotwell/thumbs/তাই দেখে মনে হচ্ছে থাম্বনেলগুলি মোটেই উত্পন্ন হয় না।

আমি কোনও পরিবর্তন ছাড়াই শটওয়েলকে পুনরায় ইনস্টল করার চেষ্টা করেছি (প্রথমে এটি শুদ্ধ করে)।

আমি কীভাবে শটওয়েলকে সমস্ত থাম্বনেইলগুলি পুনরায় তৈরি করব?

উত্তর:


14

এই শেল স্ক্রিপ্ট আপনার আকারের 128px এবং 360px এর থাম্বনেইলগুলি পুনরায় তৈরি করবে যাতে আপনি দর্শকের মধ্যে অন্তত কিছু দেখতে পাবেন।

sqlite3 ~/.local/share/shotwell/data/photo.db \
  "select id||' '||filename from PhotoTable order by timestamp desc" | 
  while read id filename; do
    for size in 128 360; do
      tf=$(printf ~/.cache/shotwell/thumbs/thumbs${size}/thumb%016x.jpg $id);
      test -e "$tf" ||  {
        echo -n "Generating thumb for $filename ($tf)";
        convert "$filename" -auto-orient -thumbnail ${size}x${size} $tf
        echo
      }
    done
  done

আপনার ছবিতে যদি থাম্বনেইলগুলি উপস্থিত থাকে তবে আপনি tf_src="$(exiv2 -vf -et "$filename" | grep -o "to file .*" | cut -f3- -d" ")" && mv "$tf_src" $tf
এটির

এই সমাধানটির সাথে সমস্যাটি হ'ল ব্যবহারকারী ফটোতে ঘূর্ণন, শস্য, রঙ সংশোধন - এ যে কোনও রূপান্তর করেছে তা থাম্বনেইলে প্রতিফলিত হবে না। শটওয়েল সমস্ত থাম্বনেইল পুরোপুরি রুপান্তরিত।
জিম নেলসন

এই স্ক্রিপ্টটি ধরে নিয়েছে যে আপনি আপনার হোম ডিরেক্টরিতে শীর্ষে রয়েছেন, তবে অন্যথায় কবজির মতো কাজ করে। ধন্যবাদ!
রিস করুন

bitbucket.org/reece/reece-base/src/tip/bin/... এছাড়াও 360x360 অঙ্গুষ্ঠ সৃষ্টি তৈরী করে।
রিস করুন

আজকাল, আপনি কেবল মুছতে পারেন ~/.cache/shotwell/thumbs, এবং শটওয়েল 0.22.x প্রয়োজন অনুসারে এগুলি পুনরায় তৈরি করবে।
ল্যাম্বার্ট

7

শটওয়েলের থাম্বনেইলগুলি পুনরায় জন্মানোর একটি সহজ উপায় (এটি একটি কার্যকরী)

  1. আপনার ফটো পৃষ্ঠাতে যান।
  2. সম্পাদনা করুন -> সমস্ত নির্বাচন করুন
  3. Ctrl+ R(ঘোরান)
  4. ঘোরানো শেষ হলে, Ctrl+ Z(পূর্বাবস্থায় ফেরা)।

এটি শটওয়েলকে সমস্ত ফটো পুনরুত্পাদন করতে বাধ্য করবে এবং এটি তাদের জন্য সঞ্চিত কোনও রূপান্তরকে সম্মান জানাবে।

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


শটওয়েল ০.০৩.১-তে এখনও একইরকম একটি পার্শ্ব নোট - অনুভূমিক ফ্লিপটি কিছুটা দ্রুত রূপান্তর বলে মনে হচ্ছে (1500 8 এমপিক্স ফটোতে পরীক্ষিত)।
সিআরপিএন

5

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

সুতরাং এখানে এই স্ক্রিপ্টের একটি বাশ সংস্করণ দেওয়া হয়েছে, এর ~/.shotwellপরিবর্তে ~/.local/shotwell(যা আমার কাছে রয়েছে) এবং আমার প্রসেসরের যতটা কোর ব্যবহার করা হয়েছে (আমার ক্ষেত্রে 8 গুণ বেশি দ্রুত!):

#!/bin/bash

# under linux, use this to launch as many convert as your processor core number
#MAX_PROCESSES=`cat /proc/cpuinfo |grep ^processor | wc -l`
# or use a static value
MAX_PROCESSES=4

sqlite3 ~/.shotwell/data/photo.db "select id||' '||filename from PhotoTable order by timestamp desc" | 
  while read id filename; do
      for size in 128 360; do
      tf=$(printf ~/.shotwell/thumbs/thumbs${size}/thumb%016x.jpg $id);
      test -e "$tf" ||  {
              echo "Generating thumb for $filename ($tf)";
              convert "$filename" -auto-orient -thumbnail ${size}x${size} $tf &
          RUNNING="`jobs -p |wc -l`"
          while [ "$RUNNING" -ge "$MAX_PROCESSES" ]
          do
          sleep 0.3
          RUNNING="`jobs -p |wc -l`"
          done
      }
      done
  done

5

শটওয়েলের সাথে আপডেট করুন 0.18 থাম্বনেইলগুলি এখন ম্যানুয়ালি দেখা হলে উত্পন্ন হয়।

.শটওয়েল / থাম্বস অপসারণ করবেন না!

লঞ্চপ্যাডের এই বাগ অনুসারে , থাম্বনেইলগুলি কেবল আমদানিতে তৈরি করা হয়।

থাম্বনেইলগুলি কেবল আমদানিতে তৈরি করা হয়। থাম্বনেইলগুলি যদি ডিস্ক থেকে সরানো হয় তবে সেগুলি পুনরায় জেনারেট করা হয় না।


শটওয়েল 0.22 (অর্থাত, উবুন্টু 16.04) এর সাহায্যে আপনি কেবল ~ / .cache / শটওয়েল / থাম্বস মুছতে পারেন, এবং শটওয়েল তাদের প্রয়োজন অনুসারে পুনরায় জেনারেট করবে
ল্যাম্বার্ট

3

উবুন্টু ১২.১০ এর শটওয়েল সংস্করণ ০.০৩.১১। থাম্বনেইলগুলি .শটওয়েল / থাম্বসগুলিতে অবস্থিত হওয়া কোনও দীর্ঘস্থায়ী মনে হয় না তবে এখন। ক্যাশে / শটওয়েলে আপনি পরীক্ষা করতে পারেন যে থাম্বগুলি পড়ার জন্য পুরো কঠোরতা রয়েছে। ছবিগুলিতে অ্যাক্সেস থাকলেও থাম্বগুলিতে না থাকার কারণে ধূসর থাম্বস হতে পারে।


থাম্বগুলি পুনরায় তৈরির বিষয়ে আপনি প্রশ্নটির সমাধান করেননি।
hultqvist

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

... তার স্বনামধন্য স্কোরের কারণে একটি সত্য মন্তব্য হিসাবে পোস্ট করুন)
বার্ডারিও

2

শটওয়েল 0.28.4 (ব্রানসওয়েইগ) কখনও কখনও ভিডিও থাম্বনেইল তৈরি করে না। গৃহীত উত্তর থেকে প্রাপ্ত নিম্নলিখিত লিপিটি এটিকে ঠিক করে:

#!/bin/bash
declare -A default_thumbnail_sizes
declare -A default_thumbnail_checksums
default_thumbnail_sizes[128]="3038"
default_thumbnail_checksums[128]="dc292dd5c9eacadee4fa02c2062d364d8a3a42cb4a58b99abb42dd1950803e4d"
default_thumbnail_sizes[360]="12333"
default_thumbnail_checksums[360]="1f5859761cbbc44f7444b5a61ffd7b2dfe560017d8376905df67db51a4641926"

sqlite3 ~/.local/share/shotwell/data/photo.db \
  "select id||' '||filename from VideoTable" |
  while read id filename
  do
    for size in 128 360
    do
      tf=$(printf ~/.cache/shotwell/thumbs/thumbs${size}/video-%016x.jpg $id);
      exit_code="$?"
      if [[ "$exit_code" != "0" ]]
      then
        echo $id
        continue
      fi

      if [[ -e "$tf" ]]
      then
        tfilelength=$(stat -c '%s' $tf)
        if [[ "$tfilelength" != ${default_thumbnail_sizes[$size]} ]]
        then
          continue
        fi

        tchecksum=$(sha256sum $tf)
        if [[ "$tchecksum" != ${default_thumbnail_checksums[$size]}* ]]
        then
          continue
        fi
      fi

      echo -n "$filename --> $tf";
      ttf=/tmp/$(basename "$tf")
      rm -f "$ttf"
      ffmpeg -i "$filename" -loglevel quiet -vf "thumbnail,scale=${size}:-1" -frames:v 1 "$ttf"
      exit_code="$?"
      if [[ -e "$ttf" && $exit_code == "0" ]]
      then
        echo ": SUCCESS"
        mv -f -v "$ttf" "$tf"
        echo
      else
        echo ": FAILED ($exit_code)"
        echo
      fi
    done
  done


1

শটওয়েল বন্ধ থাকায় 0.26.3 সংস্করণ (নভেম্বরে 2017-তে আপ টু ডেট), কেবল থাম্বনেইলগুলিকে মুছুন

  • / হোম / USER_NAME /.cache/shotwell/thumbs/thumbs128 এবং
  • / হোম / USER_NAME /.cache/shotwell/thumbs/thumbs360

এবং আবারও শটওয়েলকে আগুন ধরিয়ে দিয়েছে।

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