Jump to content

Backtrack thumbnail creation to original movie....


CarneAsada
Go to solution Solved by CarneAsada,

Recommended Posts

CarneAsada

Good morning everyone,

 

Emby generated thumbnails from all movies in my Library. Now that I have them, I'd like to re-track my steps to identify the source movie it came from. How can I do this? 

Example: Emby generated this file named 1700552229_63000000000.jpg which was located in this directory

/var/lib/emby/metadata/library/7f/7f47ff6354b5640c8275a7ee7ad08d6a/chapters/1700552229_63000000000.jpg

Does Emby have a way to search and locate the source media? The back story is someone slipped in an explicit film into my library about 6 months ago and since I have a medium size library (10,000 movies) I can't play each one. Instead I just generated Chapter Thumbnails and pointed Emby to that metadata directory to display Photos. Now I have 320 thousand images to look through for explicit photos (easy) but as I locate them...... I'm unable to figure out a way to find the root/source film. Any pointers would be great.

Edited by CarneAsada
Link to comment
Share on other sites

CarneAsada

or maybe someone has insight on how thumbnails are created? I also logged into my database to search for the file name with very very weird results. 

 

141652≠IJ��}h�h��T5|25|141646|%MetadataPath%/library/7f/7f47ff6354b5640c8275a7ee7ad08d6a/chapters1700552229_21000000000.jpg|1700552229_21000000000.jpg||||||||||0|1700552229_21000000000||3|Lavc59.21.100||||1700552229_21000000000||1702984563|1702984563|||||1703016642|1703016642|0||0||9|141243||04e94a490fdc687da268db03f29a5435||0|||141646||||%MetadataPath%/library/7f/7f47ff6354b5640c8275a7ee7ad08d6a/chapters/1700552229_21000000000.jpg*0*Primary*1280*720*TopLeft|||||||1280|720||jpg||||147505|||||
141653|W�@�b�<�D�C���|25|141646|%MetadataPath%/library/7f/7f47ff6354b5640c8275a7ee7ad08d6a/chapte/1700552229_48000000000.jpg|1700552229_48000000000.jpg||||||||||0|1700552229_48000000000||3|Lavc59.21.100||||1700552229_48000000000||1702984573|1702984573|||||1703016642|1703016642|0||0||9|141243||bd408357df62e83c041244ae43b596c5||0|||141646||||%MetadataPath%/library/7f/7f47ff6354b5640c8275a7ee7ad08d6a/chapters/1700552229_48000000000.jpg*0*Primary*1280*720*TopLeft|||||||1280|720||jpg||||147506|||||
141654|x%���T��s5{n��
                      |25|141646|%MetadataPath%/library/7f/7f47ff6354b5640c8275a7ee7ad08d6a/chapters/1700552229_60000000000.jpg|1700552229_60000000000.jpg||||||||||0|1700552229_60000000000||3|Lavc59.21.100||||1700552229_60000000000||1702984579|1702984579|||||1703016642|1703016642|0||0||9|141243||19e42578d1baf354ec73357b6ebea70b||0|||141646||||%MetadataPath%/library/7f/7f47ff6354b5640c8275a7ee7ad08d6a/chapters/1700552229_60000000000.jpg*0*Primary*1280*720*TopLeft|||||||1280|720||jpg||||147507|||||
141655|��'Xҭ{��o��|25|141646|%MetadataPath%/library/7f/7f47ff6354b5640c8275a7ee7ad08d6a/chapters/1700552229_51000000000.jpg|1700552229_51000000000.jpg||||||||||0|1700552229_51000000000||3|Lavc59.21.100||||1700552229_51000000000||1702984574|1702984574|||||1703016642|1703016642|0||0||9|141243||27a59df41b58d2efad7b0185ac6fd0c2||0|||141646||||%MetadataPath%/library/7f/7f47ff6354b5640c8275a7ee7ad08d6a/chapters/1700552229_51000000000.jpg*0*Primary*1280*720*TopLeft|||||||1280|720||jpg||||147508|||||
141656|紓5G�k0`"O\���|25|141646|%MetadataPath%/library/7f/7f47ff6354b5640c8275a7ee7ad08d6a/chapters/1700552229_42000000000.jpg|1700552229_42000000000.jpg||||||||||0|1700552229_42000000000||3|Lavc59.21.100||||1700552229_42000000000||1702984572|1702984572|||||1703016642|1703016642|0||0||9|141243||3593b4e7471f6bc73060224f5c86ac99||0|||141646||||%MetadataPath%/library/7f/7f47ff6354b5640c8275a7ee7ad08d6a/chapters/1700552229_42000000000.jpg*0*Primary*1280*720*TopLeft|||||||1280|720||jpg||||147509|||||
141657||T�b������m���|25|141646|%MetadataPath%/library/7f/7f47ff6354b5640c8275a7ee7ad08d6a/chapters/1700552229_18000000000.jpg|1700552229_18000000000.jpg||||||||||0|1700552229_18000000000||3|Lavc59.21.100||||1700552229_18000000000||1702984562|1702984562|||||1703016642|1703016642|0||0||9|141243||62ad547cd51b9ba7b5b0aaba6df7a599||0|||141646||||%MetadataPath%/library/7f/7f47ff6354b5640c8275a7ee7ad08d6a/chapters/1700552229_18000000000.jpg*0*Primary*1280*720*TopLeft|||||||1280|720||jpg||||147510|||||
141658|�L��g���3m���3|25|141646|%MetadataPath%/library/7f/7f47ff6354b5640c8275a7ee7ad08d6a/chapter/1700552229_12000000000.jpg|1700552229_12000000000.jpg||||||||||0|1700552229_12000000000||3|Lavc59.21.100||||1700552229_12000000000||1702984560|1702984560|||||1703016642|1703016642|0||0||9|141243||d3d14cd103678b81ff336de502bdee33||0|||141646||||%MetadataPath%/library/7f/7f47ff6354b5640c8275a7ee7ad08d6a/chapters/1700552229_12000000000.jpg*0*Primary*1280*720*TopLeft|||||||1280|720||jpg||||147511|||||
141659|h[Z�?�/��{o�=-|25|141646|%MetadataPath%/library/7f/7f47ff6354b5640c8275a7ee7ad08d6a/chapter/1700552229_63000000000.jpg|1700552229_63000000000.jpg||||||||||0|1700552229_63000000000||3|Lavc59.21.100||||1700552229_63000000000||1702984579|1702984579|||||1703016642|1703016642|0||0||9|141243||f55a5b68da3f2f13d5ed917b6fe93d2d||0|||141646||||%MetadataPath%/library/7f/7f47ff6354b5640c8275a7ee7ad08d6a/chapters/1700552229_63000000000.jpg*0*Primary*1280*720*TopLeft|||||||1280|720||jpg||||147512|||||
141660|�w��$�/�� ���`|25|141646|%MetadataPath%/library/7f/7f47ff6354b5640c8275a7ee7ad08d6a/chapters/1700552229_24000000000.jpg|1700552229_24000000000.jpg||||||||||0|1700552229_24000000000||3|Lavc59.21.100||||1700552229_24000000000||1702984563|1702984563|||||1703016642|1703016642|0||0||9|141243||aca777df14242faf9f912018a6fed560||0|||141646||||%MetadataPath%/library/7f/7f47ff6354b5640c8275a7ee7ad08d6a/chapters/1700552229_24000000000.jpg*0*Primary*1280*720*TopLeft|||||||1280|720||jpg||||147513|||||
141661|�ؠ��%F(�~��|25|141646|%MetadataPath%/library/7f/7f47ff6354b5640c8275a7ee7ad08d6a/chapters/1700552229_57000000000.jpg|1700552229_57000000000.jpg||||||||||0|1700552229_57000000000||3|Lavc59.21.100||||1700552229_57000000000||1702984577|1702984577|||||1703016642|1703016642|0||0||9|141243||96011603a0d893ecd3254628c07ee6e3||0|||141646||||%MetadataPath%/library/7f/7f47ff6354b5640c8275a7ee7ad08d6a/chapters/1700552229_57000000000.jpg*0*Primary*1280*720*TopLeft|||||||1280|720||jpg||||147514|||||
141662|���٘���-��w`h|25|141646|%MetadataPath%/library/7f/7f47ff6354b5640c8275a7ee7ad08d6a/chapters700552229_54000000000.jpg|1700552229_54000000000.jpg||||||||||0|1700552229_54000000000||3|Lavc59.21.100||||1700552229_54000000000||1702984575|1702984575|||||1703016642|1703016642|0||0||9|141243||d9ddebc8bc98f2a5831c2de3fb776068||0|||141646||||%MetadataPath%/library/7f/7f47ff6354b5640c8275a7ee7ad08d6a/chapters/1700552229_54000000000.jpg*0*Primary*1280*720*TopLeft|||||||1280|720||jpg||||147515|||||
141663|[~�Gׅ���X
                cu�|25|141646|%MetadataPath%/library/7f/7f47ff6354b5640c8275a7ee7ad08d6a/chapters/1700552229_39000000000.jpg|1700552229_39000000000.jpg||||||||||0|1700552229_39000000000||3|Lavc59.21.100||||1700552229_39000000000||1702984570|1702984570|||||1703016642|1703016642|0||0||9|141243||47fe7e5b85d7c918d707c9580b6375d6||0|||141646||||%MetadataPath%/library/7f/7f47ff6354b5640c8275a7ee7ad08d6a/chapters/1700552229_39000000000.jpg*0*Primary*1280*720*TopLeft|||||||1280|720||jpg||||147516|||||
141664|����O�!t�{]��|25|141646|%MetadataPath%/library/7f/7f47ff6354b5640c8275a7ee7ad08d6a/chapters1700552229_0.jpg|1700552229_0.jpg||||||||||0|1700552229_0||3|Lavc59.21.100||||1700552229_0||1702984557|1702984557|||||1703016642|1703016642|0||0||9|141243||afc088024f9821d71574d81f7b5decc4||0|||141646||||%MetadataPath%/library/7f/7f47ff6354b5640c8275a7ee7ad08d6a/chapters/1700552229_0.jpg*0*Primary*1280*720*TopLeft|||||||1280|720||jpg||||147517|||||
141665|���XdI�[��5K�$   �|25|141646|%MetadataPath%/library/7f/7f47ff6354b5640c8275a7ee7ad08d6a/chapters/1700552229_27000000000.jpg|1700552229_27000000000.jpg||||||||||0|1700552229_27000000000||3|Lavc59.21.100||||1700552229_27000000000||1702984564|1702984564|||||1703016642|1703016642|0||0||9|141243||588cac9549645bcefaf1354bc42409cf||0|||141646||||%MetadataPath%/library/7f/7f47ff6354b5640c8275a7ee7ad08d6a/chapters/1700552229_27000000000.jpg*0*Primary*1280*720*TopLeft|||||||1280|720||jpg||||147518|||||
141666|⮍z�!�ӆ�4+[~�|25|141646|%MetadataPath%/library/7f/7f47ff6354b5640c8275a7ee7ad08d6a/chapters/1700552229_3000000000.jpg|1700552229_3000000000.jpg||||||||||0|1700552229_3000000000||3|Lavc59.21.100||||1700552229_3000000000||1702984558|1702984558|||||1703016642|1703016642|0||0||9|141243||7a8daee221e6d3ee8699342b5b7e15e8||0|||141646||||%MetadataPath%/library/7f/7f47ff6354b5640c8275a7ee7ad08d6a/chapters/1700552229_3000000000.jpg*0*Primary*1280*720*TopLeft|||||||1280|720||jpg||||147519|||||
141667|Y��{�d��X�-���|25|141646|%MetadataPath%/library/7f/7f47ff6354b5640c8275a7ee7ad08d6a/chapte/1700552229_33000000000.jpg|1700552229_33000000000.jpg||||||||||0|1700552229_33000000000||3|Lavc59.21.100||||1700552229_33000000000||1702984567|1702984567|||||1703016642|1703016642|0||0||9|141243||7bb688596487abb858ad2dfd03c01b85||0|||141646||||%MetadataPath%/library/7f/7f47ff6354b5640c8275a7ee7ad08d6a/chapters/1700552229_33000000000.jpg*0*Primary*1280*720*TopLeft|||||||1280|720||jpg||||147520|||||
141668| �:S��G
���*h|25|141646|%MetadataPath%/library/7f/7f47ff6354b5640c8275a7ee7ad08d6a/chapters/1700552229_15000000000.jpg|1700552229_15000000000.jpg||||||||||0|1700552229_15000000000||3|Lavc59.21.100||||1700552229_15000000000||1702984561|1702984561|||||1703016642|1703016642|0||0||9|141243||533a8d20aef60d47a88ddd0c2a681b46||0|||141646||||%MetadataPath%/library/7f/7f47ff6354b5640c8275a7ee7ad08d6a/chapters/1700552229_15000000000.jpg*0*Primary*1280*720*TopLeft|||||||1280|720||jpg||||147521|||||

 

Link to comment
Share on other sites

CarneAsada

I've checked the API documentation and found no way to locate the source media from generated thumbnail information. I've yet to find a way, what I've attempted as a last ditch effort is to generate thumbnails every 10 seconds (wish there was an option to change this to every 5 minutes or something bigger) and save the thumbnails into the film directory.

Since my library size is not small... I assume this will run for weeks. Once the new thumbnails are generated I'll run them through an AI software to scan for nudity and flag them into a new directory for Emby photos to pick up so I may finally identify the explicit film once and for all....... This would actually work well as a plugin for users if they wanted to censor their family friendly servers like mine. For now...... I will first finish my primary goal.

Link to comment
Share on other sites

CarneAsada
7 minutes ago, Luke said:

Hi, the 7f47ff6354b5640c8275a7ee7ad08d6a folder name maps to the Guid value in the MediaItems table.

Thank you, I ran the command while inside the production library.db and get no results back, did I enter the query wrong? I made sure to shutdown Emby so the db isn't locked.

 

SELECT * FROM MediaItems WHERE Guid = '7f47ff6354b5640c8275a7ee7ad08d6a';

 

Link to comment
Share on other sites

  • Solution
CarneAsada

I figure it out! Thank you @Lukefor the insight!

I accessed the database and dumped the entire MediaItems table into a .txt file. I downloaded the dump onto my Windows machine and opened it with Sublime Text Edit (supports big files) the dump was 250MB but I was quickly able to locate the guid string this time.

sqlite3 library.db
>.output mediaitems_dump.txt
>SELECT * FROM MediaItems;
>.output stdout

 

A quick find using Sublime Text Editor within the .txt file quickly identified the film in question using the guid as the search string:

7f47ff6354b5640c8275a7ee7ad08d6a|Footloose|0|||||The music is on his side.|Imdb=tt0087277|Tvdb=2571|Tmdb=1788|/media/Movies/Footloose (1984)/

 

... boy am I in for a shocker. The film was quicky identified and the explicit media was deleted. My Emby server is family friend once again!

Edited by CarneAsada
  • Thanks 1
Link to comment
Share on other sites

On 12/24/2023 at 4:36 AM, CarneAsada said:

Thank you, I ran the command while inside the production library.db and get no results back, did I enter the query wrong? I made sure to shutdown Emby so the db isn't locked.

 

SELECT * FROM MediaItems WHERE Guid = '7f47ff6354b5640c8275a7ee7ad08d6a';

 

It's because the guid column is a blob, not plain text, so the query needs to be formatted appropriately for that.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...