שיתוף | אתגר ומתן שכר בצידו! הכנסת וידיאו למצלמה
-
@אלף-שין כתב בשיתוף | אתגר ומתן שכר בצידו! הכנסת וידיאו למצלמה:
האם יש דרך להמיר למבנה שלהם עם אוטמציה?
תלמד את המבנה ותכתוב תוכנה
זה קל מאד צריך רק להפוך ת'יוצרות
עיין בקישור דלעיללחילופין תערוך תFW שיתמוך בפורמט הסטנדרטי
-
@simon לי יש מצלמה מסדרת ה 600 או ה 700
היא בחלט קלטה תמונות וסרטונים של מצלמות אחרות מאותה הסדרה (לא אותו הדגם)
אחרי שעשיתי כפי שכתבתי למעלה - מבנה שמות הקבצים והתיקיות תואם לסדר הרגיל שלה.
ופה לא היה לה כמובן קבצי אינדקס וכו', כי העתקתי רק את קבצי התמונות והסרטונים. -
@משחזר-מידע כתב בשיתוף | אתגר ומתן שכר בצידו! הכנסת וידיאו למצלמה:
זה קל מאד צריך רק להפוך ת'יוצרות
ואוו!! איזה כיף!! יהיה לי קל מאד!!
רק השאלה כמה שנים צריך ללמוד את זה כדי שיהיה לי קל מאד?.....
או אולי יש תוכנה שעושה את זה [עם ממשק גרפי, אלא מה?]....עיין בקישור דלעיל
כנראה התכוונת למדריך שלך על שיחזור וידיאו של קנון, אבל לא כתבת שם איך אפשר לשנות את המבנה....
אולי תעשה מדריך כזה?... -
@אלף-שין כתב בשיתוף | אתגר ומתן שכר בצידו! הכנסת וידיאו למצלמה:
או אולי יש תוכנה שעושה את זה [עם ממשק גרפי, אלא מה?]....
אין סיבה שיהיה
מדובר - מבחינת העולם - במשו שלא שוה להשקיע
אפחד לא משתמש היום במצלמות
חוץ מאיזה פרומיל של פרומיל של פרומיל.... שלא רוצים סמארטפוןבנוסף כנכתב שמה
רוב המוחלט של הקבצים בנוי בצורה מסויימת הסטנדרטית
זה שהגיע משוגע אחד והחליט לייצר מבנה ייחודי לעצמו
העולם לא קופץ אחרי השגעונות שלו
כן קיים תוכנות להמיר את שלהם לסטנדרט הרגילכמו שלא תמצא תוכנה שיכולה לשחזר קבצי תג (לדוגמה) מאותה סיבה
והסיכויים שמישהו יכתוב תוכנה מיוחד לזה שואף לאפס -
@משחזר-מידע
בקיצור לי אין סיכוי......
מענין אם GPT יעזור?
ועוד יותר מענין אם @מתכנת-חובב יכול ? -
@simon כתב בשיתוף | אתגר ומתן שכר בצידו! הכנסת וידיאו למצלמה:
@מתכנת-חובב כתב בשיתוף | אתגר ומתן שכר בצידו! הכנסת וידיאו למצלמה:
@simon כתב בשיתוף | אתגר ומתן שכר בצידו! הכנסת וידיאו למצלמה:
ז"א שאם תמחק את קבצי המפתחות, המצלמה או המסרטה לא תפתח גם את מה שהיא עצמה צילמה, למרות שהיא בוודאות תומכת בפורמט הזה! האם מובן?
בדקתי את זה עכשיו (על sx 400) מחקתי את התיקיה עם הקבצים הנ"ל
החזרתי את הכרטיס למצלמה והיא מציגה הכל תקין לגמרי
גם GPT פרפלקסיטי וקלוד טענו שאין בעיה למחוקלא מכיר את את סדרה 400
מכיר רק את 700 שהיא תוצרת יפן, סדרה 600 היא תוצרת סין כמדומני.
איזה קבצים מחקת? קובץ נסתר או גלוי?מה ההבדל אם היא תוצרת יפן או סין? נראה לך שהם משנים הכל חוץ מאת שם החברה?
מחקתי קבצים גלויים בסיומת CTG (אין קובץ נסתר)אתה בדקת בכלל על המצלמה שלך? כי זה נראה שאתה כותב הכל מהשערות דימויים וזיכרון רחוק
-
@אלף-שין כתב בשיתוף | אתגר ומתן שכר בצידו! הכנסת וידיאו למצלמה:
מענין אם GPT יעזור?
תעדכן אחרי כמה זמן של בלבולי שכל שלו הרמת ידיים
-
@משחזר-מידע כתב בשיתוף | אתגר ומתן שכר בצידו! הכנסת וידיאו למצלמה:
כמו שלא תמצא תוכנה שיכולה לשחזר קבצי תג (לדוגמה) מאותה סיבה
והסיכויים שמישהו יכתוב תוכנה מיוחד לזה שואף לאפסבשביל זה יש את photorec...
-
@מתכנת-חובב כתב בשיתוף | אתגר ומתן שכר בצידו! הכנסת וידיאו למצלמה:
בשביל זה יש את photorec...
לא מכיר
אבל קשה לי להאמין שיוכל -
@משחזר-מידע כתב בשיתוף | אתגר ומתן שכר בצידו! הכנסת וידיאו למצלמה:
@מתכנת-חובב כתב בשיתוף | אתגר ומתן שכר בצידו! הכנסת וידיאו למצלמה:
בשביל זה יש את photorec...
לא מכיר
אבל קשה לי להאמין שיוכלאפשר להוסיף לה חתימות שהיא לא מכירה וזה די קל ופשוט
-
@מתכנת-חובב כתב בשיתוף | אתגר ומתן שכר בצידו! הכנסת וידיאו למצלמה:
אפשר להוסיף לה חתימות שהיא לא מכירה וזה די קל ופשוט
אפשר להוסיף גם בr-studio ובufs
הענין הוא שזה לא חתימות וכאלה -
@משחזר-מידע כתב בשיתוף | אתגר ומתן שכר בצידו! הכנסת וידיאו למצלמה:
@מתכנת-חובב כתב בשיתוף | אתגר ומתן שכר בצידו! הכנסת וידיאו למצלמה:
אפשר להוסיף לה חתימות שהיא לא מכירה וזה די קל ופשוט
אפשר להוסיף גם בr-studio ובufs
הענין הוא שזה לא חתימות וכאלהאת UFS אני לא כל כך מכיר אבל את r-studio כן ומוזר לי שאני לא מכיר את האופציה הזאת שם
איפה מוצאים אותה? -
-
@משחזר-מידע כתב בשיתוף | אתגר ומתן שכר בצידו! הכנסת וידיאו למצלמה:
@מתכנת-חובב כתב בשיתוף | אתגר ומתן שכר בצידו! הכנסת וידיאו למצלמה:
איפה מוצאים אותה?
https://www.r-studio.com/creating-custom-file-type-r-studio.html
החכמתני תודה
-
@משחזר-מידע כתב בשיתוף | אתגר ומתן שכר בצידו! הכנסת וידיאו למצלמה:
זה שהגיע משוגע אחד והחליט לייצר מבנה ייחודי לעצמו
כן קיים תוכנות להמיר את שלהם לסטנדרט הרגילזה כבר נשמע פתח לפיתרון!
אם קיים כבר מודלים [קוד פתוח?] שיודעים להמיר את הפורמט של קנון לקלאסי-
אז- אולי נלמד אותם לעשות להיפך?......הלוואי!
יש לך או ל @מתכנת-חובב דוגמא לתוכנה כזאת? קישור להורדה? אשמח!
-
@simon כתב בשיתוף | אתגר ומתן שכר בצידו! הכנסת וידיאו למצלמה:
אני חושב שחסר כאן נקודה בסיסית.
כמו שמחשב מייצר לעצמו אינדקס של כל החומר שהוא מכיל, גם מצלמות ומסרטות בונות קבצי אינדקס/מפתחות על כל מה שהם צילמו או הסריטו, ולכן בד"כ נדרש לאתחל כרטיס כשמכניסים אותו למכשיר חדש, מצלמות קנון, מסכימות להציג בד"כ רק קבצים שהפרטים שלהם מופיעים בקבצי המפתחות.
ז"א שאם תמחק את קבצי המפתחות, המצלמה או המסרטה לא תפתח גם את מה שהיא עצמה צילמה, למרות שהיא בוודאות תומכת בפורמט הזה! האם מובן?עדכון: קבצים אלו לא משנים כלום מקור והסברים באתר הרשמי.
הוספה: אולי מישהוא יוכל להסביר לי אם כאן או כאן יש תוכנה שתעזור לי?
-
פוסט זה נמחק!
-
@משחזר-מידע כתב בשיתוף | אתגר ומתן שכר בצידו! הכנסת וידיאו למצלמה:
@אלף-שין כתב בשיתוף | אתגר ומתן שכר בצידו! הכנסת וידיאו למצלמה:
מענין אם GPT יעזור?
תעדכן אחרי כמה זמן של בלבולי שכל שלו הרמת ידיים
האם זה בלבול שכל?
אני יכול לספק לך סקריפט של Python שמנתח את מבנה הקבצים של קבצי הווידאו של המצלמה שלך וממיר אותם לקובץ חדש עם אותו מבנה. עם זאת, שים לב שהתסריט הזה מיועד למטרות חינוכיות בלבד וייתכן שלא יפעל עבור כל המצלמות או קובצי הווידאו.
להלן סקריפט בסיסי המנתח את מבנה הקובץ של קובץ וידאו וממיר אותו לקובץ חדש עם אותו מבנה:
python import struct import os import binascii def analyze_file(file_path): with open(file_path, 'rb') as f: file_data = f.read() header_position = 0 header_size = struct.unpack('I', file_data[header_position:header_position+4])[0] header_position += 4 atoms = [] while header_position < len(file_data): atom_header_size = struct.unpack('I', file_data[header_position:header_position+4])[0] header_position += 4 atom_type = struct.unpack('I', file_data[header_position:header_position+4])[0] header_position += 4 atom_data = file_data[header_position:header_position+atom_header_size] header_position += atom_header_size atoms.append((atom_type, atom_data)) return atoms def convert_file(original_file_path, new_file_path): atoms = analyze_file(original_file_path) with open(original_file_path, 'rb') as f: file_data = f.read() new_file_data = bytearray() new_atoms = [] for atom in atoms: atom_type, atom_data = atom new_atom_data = bytearray() # Convert the atom data to the new file format # This could involve changing the byte order, length, or contents of the atom # For this example, we'll just copy the atom data as-is new_atom_data.extend(atom_data) new_atoms.append((atom_type, new_atom_data)) # Write the new file data with open(new_file_path, 'wb') as f: f.write(new_file_data) return new_atoms original_file_path = 'path/to/original/file.mp4' new_file_path = 'path/to/new/file.mp4' atoms = convert_file(original_file_path, new_file_path) print(" Converted file structure:") for atom in atoms: print(f"Atom type: {atom[0]}, Atom size: {len(atom[1])}")
סקריפט זה מנתח את מבנה הקובץ של הקובץ המקורי על ידי ניתוח הכותרת והאטומים, ולאחר מכן ממיר את הקובץ לקובץ חדש עם אותו מבנה. שים לב שהסקריפט הזה הוא דוגמה בסיסית וייתכן שלא יעבוד עבור כל המצלמות או קובצי הווידאו. ייתכן שיהיה עליך לשנות את הסקריפט כדי לטפל בהבדלים ספציפיים בפורמט הקובץ.
כמו כן, שים לב שתסריט זה מיועד למטרות חינוכיות בלבד ואין להשתמש בו כדי לשנות או להמיר חומר המוגן בזכויות יוצרים ללא רשות.
-
ועוד אחד משולב יותר
הנה סקריפט בודד המשלב את שני התסריטים שסיפקתי קודם. סקריפט זה מנתח את מבנה הקובץ של הקובץ המקורי, ממיר אותו לקובץ חדש עם אותו מבנה, ובודק כל שינוי בקצב הפריימים, ברזולוציה או מטא נתונים אחרים.
שים לב שהתסריט הזה מיועד למטרות חינוכיות בלבד וייתכן שלא יעבוד עבור כל המצלמות או קובצי הווידאו. ייתכן שיהיה עליך לשנות את הסקריפט כדי לטפל בהבדלים ספציפיים בפורמט הקובץ או בקידוד הווידאו.
import struct import os import binascii import cv2 def analyze_file(file_path): with open(file_path, 'rb') as f: file_data = f.read() header_position = 0 header_size = struct.unpack('I', file_data[header_position:header_position+4])[0] header_position += 4 atoms = [] while header_position < len(file_data): atom_header_size = struct.unpack('I', file_data[header_position:header_position+4])[0] header_position += 4 atom_type = struct.unpack('I', file_data[header_position:header_position+4])[0] header_position += 4 atom_data = file_data[header_position:header_position+atom_header_size] header_position += atom_header_size atoms.append((atom_type, atom_data)) return atoms def convert_file(original_file_path, new_file_path): atoms = analyze_file(original_file_path) with open(original_file_path, 'rb') as f: file_data = f.read() new_file_data = bytearray() new_atoms = [] for atom in atoms: atom_type, atom_data = atom new_atom_data = bytearray() # Convert the atom data to the new file format # This could involve changing the byte order, length, or contents of the atom # For this example, we'll just copy the atom data as-is new_atom_data.extend(atom_data) new_atoms.append((atom_type, new_atom_data)) # Write the new file data with open(new_file_path, 'wb') as f: f.write(new_file_data) return new_atoms def analyze_video_frames(file_path): video = cv2.VideoCapture(file_path) frame_rate = video.get(cv2.CAP_PROP_FPS) resolution = (int(video.get(cv2.CAP_PROP_WIDTH)), int(video.get(cv2.CAP_PROP_HEIGHT))) video.release() return frame_rate, resolution original_file_path = 'path/to/original/file.mp4' new_file_path = 'path/to/new/file.mp4' atoms = convert_file(original_file_path, new_file_path) new_atoms = analyze_file(new_file_path) print("Converted file structure:") for atom in new_atoms: print(f"Atom type: {atom[0]}, Atom size: {len(atom[1])}") frame_rate, resolution = analyze_video_frames(new_file_path) print(f"New frame rate: {frame_rate}, New resolution: {resolution}") original_frame_rate, original_resolution = analyze_video_frames(original_file_path) print(f"Original frame rate: {original_frame_rate}, Original resolution: {original_resolution}") if frame_rate != original_frame_rate or resolution != original_resolution: print("Changes detected in frame rate or resolution") else: print("No changes detected in frame rate or resolution")
שים לב שסקריפט זה הוא דוגמה בסיסית וייתכן שלא יעבוד עבור כל המצלמות או קובצי הווידאו. ייתכן שיהיה עליך לשנות את הסקריפט כדי לטפל בהבדלים ספציפיים בפורמט הקובץ או בקידוד הווידאו.
כמו כן, אנא שים לב ששינוי או המרה של חומר המוגן בזכויות יוצרים ללא רשות אינו חוקי.
import struct import os import binascii import cv2 import exifread def analyze_file(file_path): with open(file_path, 'rb') as f: file_data = f.read() header_position = 0 header_size = struct.unpack('I', file_data[header_position:header_position+4])[0] header_position += 4 atoms = [] while header_position < len(file_data): atom_header_size = struct.unpack('I', file_data[header_position:header_position+4])[0] header_position += 4 atom_type = struct.unpack('I', file_data[header_position:header_position+4])[0] header_position += 4 atom_data = file_data[header_position:header_position+atom_header_size] header_position += atom_header_size atoms.append((atom_type, atom_data)) return atoms def convert_file(original_file_path, new_file_path): atoms = analyze_file(original_file_path) with open(original_file_path, 'rb') as f: file_data = f.read() new_file_data = bytearray() new_atoms = [] for atom in atoms: atom_type, atom_data = atom new_atom_data = bytearray() # Convert the atom data to the new file format # This could involve changing the byte order, length, or contents of the atom # For this example, we'll just copy the atom data as-is new_atom_data.extend(atom_data) # Check if the atom is a resolution atom if atom_type == 0x0001: # Get the resolution from the atom resolution = struct.unpack('I', atom_data[0x10:0x14])[0] # Convert the resolution to the new file format new_resolution = resolution new_atom_data[0x10:0x14] = struct.pack('I', new_resolution) new_atoms.append((atom_type, new_atom_data)) # Write the new file data with open(new_file_path, 'wb') as f: f.write(new_file_data) def analyze_video_frames(file_path): video = cv2.VideoCapture(file_path) frame_rate = video.get(cv2.CAP_PROP_FPS) resolution = (int(video.get(cv2.CAP_PROP_WIDTH)), int(video.get(cv2.CAP_PROP_HEIGHT))) video.release() return frame_rate, resolution def analyze_exif(file_path): with open(file_path, 'rb') as f: tags = exifread.process_file(f) return tags original_file_path = 'path/to/original/file.mp4' new_file_path = 'path/to/new/file.mp4' atoms = convert_file(original_file_path, new_file_path) print("Converted file structure:") for atom in atoms: print(f"Atom type: {atom[0]}, Atom size: {len(atom[1])}") frame_rate, resolution = analyze_video_frames(original_file_path) print(f"Original frame rate: {frame_rate}, Original resolution: {resolution}") new_frame_rate, new_resolution = analyze_video_frames(new_file_path) print(f"New frame rate: {new_frame_rate}, New resolution: {new_resolution}") if new_frame_rate != frame_rate or new_resolution != resolution: print("Changes detected in frame rate or resolution") else: print("No changes detected in frame rate or resolution") tags = analyze_exif(new_file_path) print("Exif tags:") for tag in tags.keys(): print(f"{tag}: {tags[tag]}")
To download these libraries using pip, you can use the following commands:
- OpenCV:
pip install opencv-python
- exifread:
pip install exifread
- struct:
pip install struct
Note that
struct
is a built-in Python library, so you don't need to install it separately.After installing the libraries, you can verify that they have been installed correctly by running the following commands:
pip list opencv-python pip list exifread pip list struct
This should list the versions of the libraries that you have installed.
Once you have installed the libraries, you should be able to run the script using Python:
python script.py
Replace
script.py
with the name of your script file.I hope this helps! Let me know if you have any further questions.
-
@אלף-שין כתב בשיתוף | אתגר ומתן שכר בצידו! הכנסת וידיאו למצלמה:
האם זה בלבול שכל?
במקום לשאול
תבדוק ותעדכן