একটি এম 4 ভি বা এমপি 4 ভিডিও ফাইলটি কীভাবে খুলবেন এবং মেরামত করবেন?


59

গতকাল আমি আমার ফোনের সাথে একটি দৃশ্যের চিত্রায়ন করছিলাম তবে হঠাৎ অ্যাপ্লিকেশনটি ক্র্যাশ হয়ে গেছে এবং আমি যখন তৈরি এম 4 ভি খুলতে চেষ্টা করি তখন এটি বলে যে এটি দূষিত।

আমি আমার পিসিতে ভিডিও ফাইলগুলি (প্রায় 36MB) ডাউনলোড করেছি এবং আমি এটি খুলতে এবং মেরামত করার চেষ্টা করছি। আপনি কি আমাকে এটি করার কোনও উপায় বলতে পারেন?

FFMPEG তথ্য

মন্তব্যে প্রস্তাবিত হিসাবে আমি এই কমান্ডটি দিয়ে এফএফএমপিইজি সেই ফাইল সম্পর্কে আমাকে কী বলেছে তা পরীক্ষা করে দেখার চেষ্টা করব

ffmpeg.exe -i VID_20120425_144739.m4v -c:v copy -c:a copy out.mp4 2> log.txt

এখানে এটি ফলাফল:

ffmpeg version N-40126-ga4b58fd Copyright (c) 2000-2012 the FFmpeg developers
  built on Apr 26 2012 03:29:50 with gcc 4.6.3
  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-runtime-cpudetect --enable-avisynth --enable-bzlib --enable-frei0r --enable-libass --enable-libcelt --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-libnut --enable-libopenjpeg --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libutvideo --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib
  libavutil      51. 47.100 / 51. 47.100
  libavcodec     54. 15.100 / 54. 15.100
  libavformat    54.  3.100 / 54.  3.100
  libavdevice    53.  4.100 / 53.  4.100
  libavfilter     2. 72.100 /  2. 72.100
  libswscale      2.  1.100 /  2.  1.100
  libswresample   0. 11.100 /  0. 11.100
  libpostproc    52.  0.100 / 52.  0.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 003fc940] moov atom not found
VID_20120425_144739.m4v: Invalid data found when processing input

সর্বশেষ দুটি লাইন লাল প্রদর্শিত হয়।


আমার ওএসটি উইন্ডোজ but তবে প্রয়োজনে আমি লিনাক্স ভিত্তিক ডিস্ট্রো সহ ভার্চুয়াল মেশিন প্রস্তুত করতে পারি।
ড্রেক

@ এসএলএইচএইচ সাহায্যের জন্য আপনাকে ধন্যবাদ, আমি আপনার পরামর্শ এবং আপডেট করা প্রশ্নটি তাই করেছি।
ড্রেক

7
আহ, এটাই আমার প্রত্যাশা ছিল এমওওভি পরমাণু এমপি 4 / এম 4 ভি ধারকটির অভ্যন্তরে কাঁচা ভিডিও স্ট্রিমগুলি অ্যাক্সেস করার জন্য প্রয়োজনীয় ডেটাগুলির একটি অংশ। অনলাইনে প্রচুর "ভিডিও মেরামতের" সরঞ্জাম রয়েছে তবে আমি তাদের বেশিরভাগের উপরই বিশ্বাস করব না। আপনি অবশ্যই তাদের শট দিতে পারেন - কেবল কোনও কিছুর জন্য অর্থ প্রদান করবেন না। আশাব্যঞ্জক বলে মনে হচ্ছে অনট্রঙ্ক , যা এই সঠিক সমস্যার জন্য কোডড বলে মনে হচ্ছে (যেমন একটি এমওওভি অ্যাটাম অনুপস্থিত)। বা অ্যাটমিকপার্সলে । শুভকামনা!
স্ল্যাক করুন

1
আমি কীভাবে অ্যাটমিকপার্সলে দিয়ে একটি ভাঙা এমপি 4 ঠিক করতে পারি?
chovy

উত্তর:


60

অন্ট্রঙ্ক ব্যবহার করে ভাঙা এমপি 4 বা এম 4 ভি ফাইলটি মেরামত করা সম্ভব

এই পদ্ধতির জন্য আপনার একই ডিভাইস থেকে অন্য ভিডিও ফাইলের প্রয়োজন যা ভাঙা নয়

কিভাবে ইনস্টল করতে হবে untrunc

সংকলনের জন্য আপনার একটি লিনাক্স ইনস্টলেশন (আদর্শ উবুন্টু) এবং কমান্ড লাইন ব্যবহারের প্রাথমিক ক্ষমতা প্রয়োজন। আপনি যদি এই অংশটি ছেড়ে যান এবং untruncডকারের মাধ্যমে চালাতে পারেন ( নীচের উত্তরটি দেখুন ), যদি আপনার কাছে থাকে।

এটি করার জন্য:

  1. এই আদেশের সাহায্যে কিছু পূর্ব-প্রয়োজনীয় গ্রন্থাগার ইনস্টল করুন:

    sudo apt-get install libavformat-dev libavcodec-dev libavutil-dev

  2. গিটহাব রেপো থেকে অন্ট্রঙ্কের উত্স কোডটি পান (একটি পদ্ধতি চয়ন করুন):

    • wget https://github.com/ponchio/untrunc/archive/master.zip && unzip master.zip && cd untrunc-master
    • অথবা git clone https://github.com/ponchio/untrunc.git && cd untrunc
  3. এই আদেশটি (সমস্ত এক লাইন) ব্যবহার করে উত্স কোডটি সঙ্কলন করুন:

    g++ -o untrunc file.cpp main.cpp track.cpp atom.cpp mp4.cpp -L/usr/local/lib -lavformat -lavcodec -lavutil

    (আপনি এই পদক্ষেপটি এড়ানো এবং প্রস্তুত-সম্পাদিত কার্যকর কার্যকর ব্যবহার করতে পারেন, তবে এটি আমার পক্ষে কার্যকর হয়নি)

  4. তারপরে আপনি আসলে ভিডিওটি ঠিক করতে পারেন। আপনার ভাঙা ভিডিও এবং একটি কাজ করার ভিডিও উদাহরণ প্রয়োজন।

কীভাবে ভিডিও ঠিক করবেন

আদর্শভাবে একই ক্যামেরা থেকে এবং কমপক্ষে ভাঙা ভিডিও হিসাবে যতক্ষণ না আরও কার্যকরী ভিডিও সন্ধান করুন; এছাড়াও সম্ভব হলে একই রেজোলিউশন (আমি বিশ্বাস করি এটি অপরিহার্য না হলেও এটি সাহায্য করতে পারে)।

আপনি যাতে আনপ্রীপড এবং আনট্রঙ্ককে সংকলন করেছেন যেখানে ফোল্ডারে এই কমান্ডটি চালান তবে /path/to/...বিটগুলি আপনার 2 টি ভিডিও ফাইলের সাথে প্রতিস্থাপন করুন :

./untrunc /path/to/working-video.m4v /path/to/broken-video.m4v

তারপরে এটি মন্থর হওয়া উচিত এবং আশা করা যায় এমন একটি প্লেযোগ্য ফাইল তৈরি করা উচিত broken-video_fixed.m4v

তুমি এটা করেছ!

ভিএলসি মিডিয়া প্লেয়ারের এখন ফাইলটি প্লে করতে সক্ষম হওয়া উচিত। তবে এটি ভুল দৈর্ঘ্যের তথ্যের প্রতিবেদন করা হতে পারে (অন্ট্রঙ্ক এটিকে অনুমান করার / কাজ করার চেষ্টা করে তবে সর্বদা এটি সঠিক হয় না)। এটি ঠিক করার জন্য অন্য প্রোগ্রামের মাধ্যমে ভিডিওটিকে পুনরায় এনকোড করার চেষ্টা করুন।

[অনট্রাক চেষ্টা করার পরামর্শের জন্য স্লহকের মন্তব্যের জন্য ধন্যবাদ।]

[এই সঠিক সমস্যাটি সমাধানের জন্য প্রথমে অন্ট্রঙ্ককে কোডিং দেওয়ার জন্য ফেডেরিকো পঞ্চিওকে অনেক ধন্যবাদ।]


দুর্দান্ত, এখানে সম্পূর্ণ নির্দেশাবলী সরবরাহ করার জন্য ধন্যবাদ!
16h5

3
ধন্যবাদ @ অ্যালেক্স আমি লিঙ্কটি আপডেট করেছি। হাস্যকরভাবে গিথুব উপর রিডমি এই উত্তর উপর ভিত্তি করে!
স্প্যারোলেট

1
একটি উইন্ডোজ ভিত্তিক সমাধান দিতে হবে। < superuser.com/questions/938185/recover-incomplete-video-files > আমার লিনাক্স ডিস্ট্রোজে আমার কাছে ইন্টারনেট অ্যাক্সেস নেই।
খারাপ

2
এফডব্লিউআইডাব্লু এটি আমার জন্য কোনও প্লেযোগ্য ভিডিও তৈরি করতে পারেনি - তবে ওয়াইনের মাধ্যমে পুনরুদ্ধার_এমপি 4_ টু_এইচ 6464 চালানো ভাল কাজ করেছে।
কম্পাইলার

1
অন্ট্রঙ্ক আমার পক্ষে কাজ করেছিল, তবে আমি দু'টি ভিডিও ফাইলের নাম লুকানো .আরন্ট্রাক ফোল্ডারের সাব-ডিরেক্টরিতে রেখেছি untrunc-master। তারপরে, চালনা করুন: ./unrunc goodfile.mp4 Badfile.mp4 এটি 2 জিবি ফাইলের জন্য প্রায় 3 মিনিট সময় নেয় এবং আমাকে কেবল অডিওটি পুনরায় সংযোগ করতে হয়েছিল। বাকি সব ঠিক ছিল।
ব্যবহারকারী 8547

8

অন্য কেউ যদি এতে হোঁচট খায় তবে আমি চেষ্টা করেছিলাম অ্যাপ্লিকেশন স্প্যারোওট যে বিষয়ে কথা বলছিল তা কিন্তু এটি আমার পক্ষে কার্যকর হয়নি (আমি বিকাশকারীদের সংগ্রহস্থলে তৈরি কিছু বাগ-প্রতিবেদন দেখুন)। সম্ভবত এটি কারণ এটি কোনও এমপি 4 ফাইল নয় বরং একটি এমওভি ফাইল ছিল ...

এই পোস্টটিটি আমার জন্য যেটি সাহায্য করেছিল তা হ'ল: http://muzso.hu/2012/11/14/how-to-fix-a-broken-mp4-mov-video-ffmpeg-reports-moov-atom-not-found

তারা "এইচডি ভিডিও মেরামত ইউটিলিটি" নামে পরিচিত একটি প্রোগ্রামের সাথে লিঙ্ক করেছে ( http://grauonline.de/cmsimple2_6/en/?Solitions: HD_Video_Repair_Utility ), যা ট্রেজার্ডের চেয়ে সস্তা ( http://aeroquartet.com/movierepair/repair ) । তারা এমনকি উল্লেখ করেছিল যে এটির পূর্ববর্তী সংস্করণ ছিল (সংস্করণ 1.5) যার কোনও মূল্য নেই ( http://navasoft.cn/download/videorepair1.5.zip )!

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


3
DROPBOX url মারা গেছে। বিকল্পটি পাওয়া গেছে: nagasoft.cn/download/videorepair1.5.zip
টুডো

2
@ টি টুডোভা, অবহিত করার জন্য ধন্যবাদ। আপনার সরবরাহিত লিঙ্কটি আমি ড্রপবক্স-লিঙ্কটি প্রতিস্থাপন করেছি।
সাইমনসিমসিটি

8

আপনি ইনস্টল করতে পারেন docker(সমস্ত বড় অপারেটিং সিস্টেমের জন্য উপলব্ধ) এবং চালাতে পারেন:

docker run -v $(pwd):/vol -it synctree/untrunc /vol/GOOD-reference-file.MP4 /vol/BAD-corrupt-file.mdt

সিনট্যাক্সটি লিনাক্স বা ম্যাকোসের অধীনে ব্যাশের জন্য। এখানে, GOOD-reference-file.MP4এবং BAD-corrupt-file.md5উভয়ই আপনার বর্তমান ডিরেক্টরিতে থাকতে হবে এবং ডিরেক্টরিটি /volডকার পাত্রে মাউন্ট করা হবে ।

আরও গভীরতার ব্যাখ্যার জন্য আশেপাশের অন্যান্য মন্তব্যগুলি পড়ুন।

এটি আমার জন্য দ্রুততম ছিল!


ধন্যবাদ @ এসএলএইচএইচ, এটি Dockerfileএখানে উপলব্ধ যদি কেউ আপনার কম্পিউটারে এটি কার্যকর করার আগে এটি কী চলবে তা দেখতে চাইলে: github.com/synctree/docker-untrunc এখন Dockerfileপ্রকৃত untruncসংগ্রহস্থলের মধ্যে একটিও রয়েছে - আমি পরীক্ষিত বা তুলনা করি নি তাদের বিশদ বিবরণ তবে সম্পূর্ণতার জন্য এটি এখানে উল্লেখ করুন: github.com/ponchio/untrunc/blob/master/Dockerfile
স্প্যারোলেট

7

@ স্পারোয়েট আপনার বর্তমান নির্দেশাবলী আমার সাম্প্রতিক উবুন্টু 16.10 ইনস্টলেশনটিতে কাজ করে না। অনর্থক সঙ্কলনের সময় আমি নিম্নলিখিত ত্রুটিটি পেয়েছি:

track.cpp: In member function ‘int Codec::getLength(unsigned char*, int)’:
track.cpp:204:40: error: ‘avcodec_alloc_frame’ was not declared in this scope
   AVFrame *frame = avcodec_alloc_frame();

অবিশ্বাস্য সংগ্রহস্থলে যেমন ব্যাখ্যা করা হয়েছে , উবুন্টু সংগ্রহস্থলের সংস্করণটি ব্যবহার না করে আপনার আলাদাভাবে লিবাভ ডাউনলোড করতে হবে। নিম্নলিখিত কোডটি আমার পক্ষে কাজ করেছে:

sudo apt-get install unzip yasm g++ zlib1g-dev libbz2-dev
cd /tmp/
wget https://github.com/ponchio/untrunc/archive/master.zip
unzip master.zip
cd untrunc-master
wget http://libav.org/releases/libav-12.2.tar.xz
tar xvf libav-12.2.tar.xz
cd libav-12.2
./configure
make
cd ..
g++ -o untrunc file.cpp main.cpp track.cpp atom.cpp mp4.cpp -I./libav-12.2 -L./libav-12.2/libavformat -lavformat -L./libav-12.2/libavcodec -lavcodec -L./libav-12.2/libavresample -lavresample -L./libav-12.2/libavutil -lavutil -lpthread -lz -lbz2
./untrunc /path/to/working-video.mp4 /path/to/broken-video.mp4

এটি ভাঙ্গা-ভিডিও_ফিক্সড.এমপি 4 নামে একটি ফাইল তৈরি করেছে যা আমার পক্ষে কাজ করে। এই থ্রেডটি শুরু করার জন্য আপনাকে অনেক ধন্যবাদ।


1
ধন্যবাদ! অবিশ্বাস্য সংকলন লাইনে আমার "Z BZ2_bzDecompressInit" এর অপরিজ্ঞাত রেফারেন্স "এর লাইনে কয়েকটি ত্রুটি ছিল, আমাকে 8l এ -lbz2
অ্যান্ড্রু স্মার্ট

এটি বড় ফাইল হ্যান্ডেল করতে পারে না। শুধু ছেড়ে দেয়।
কেন শার্প

আপনার লিবাভ একটি থাকে h264dec.h? কারণ track.cppএটি অন্তর্ভুক্ত করার চেষ্টা করা হচ্ছে এবং আমি এটি যে কোনও জায়গায় খুঁজে পাচ্ছি না: /
x29a

সেই নির্ভরতা 10 ই অক্টোবর, 2017-র কমিট github.com/ponchio/untrunc/commit/… এর সাথে যুক্ত করা হয়েছিল I আমি বিশ্বাস করি এখন আপনাকে লিবাভ -২.২০-এর পরিবর্তে লিবাভ -২২.২ ডনলোড করতে হবে
ফ্রি সেক

অবশেষে এটি উবুন্টু 14.04.5 এলটিএসে কাজ করতে পেল। চালানোর জন্য ছিল sudo apt-get install yasm, sudo apt-get install libbz2-devএবং, 'clock_gettime' থেকে একটি অনির্ধারিত রেফারেন্স পরাস্ত, অ্যাড -lrtশেষে g++কমান্ড লাইন (দেখুন stackoverflow.com/a/2418175/550712 )। এটি আমার ভিডিওর প্রায় 2/3 রূপান্তরিত করে।
মার্ক বেরি

2

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

  1. একই ফর্ম্যাট সহ অন্য একটি ফাইল পান, আমি একটি বড় ফাইল পেয়েছি তবে সম্ভবত যে কোনও দৈর্ঘ্য কাজ করবে
  2. উভয় ফাইল একটি হেক্স সম্পাদক এ খুলুন
  3. শিরোনাম ব্যতীত "ভাঙা" ফাইলের বিভাগের mdatসাথে "ঠিক আছে" ফাইলের বিভাগটি প্রতিস্থাপন করুন mdat(উদাহরণস্বরূপ 'এমড্যাট'-এর পরে কেবল বাইটগুলি অনুলিপি করুন)
  4. এটি সম্ভবত ইতিমধ্যে এর মতো কাজ করবে, যদি না হয়, 'এমড্যাট' এর আগে 4 বাইট mdatবিভাগের আকার নির্দিষ্ট করে , বর্তমান মানটি পুরানো আকার ("ঠিক আছে" ফাইল mdatবিভাগের আকার) হবে, নতুন আকারের সাথে এটি প্রতিস্থাপন করুন (" ভাঙা "ফাইল mdatবিভাগের আকার)

এটি করার জন্য আমি একটি সাধারণ প্রোগ্রামের কোডিং শেষ করেছি: https://github.com/golimarrrr/fix-3gp

প্রোগ্রাম এবং হাতে উভয় হেক্স সম্পাদক ব্যবহার করে একই স্থির ফাইল তৈরি করা উচিত


-3

আপনি ভিএলসি প্লেয়ার দিয়ে ফাইলটি খোলার চেষ্টা করেছেন ? ক্ষতিগ্রস্থ ফাইলগুলি মেরামত করতে এটি সাধারণত বেশ ভাল।


8
আমি মনে করি এটি এভিআই ফাইলগুলিতে প্রযোজ্য হতে পারে যেখানে সূচকটি মেমরিরূপে তৈরি করা যেতে পারে তবে এমপি 4 এফএফএমপিগ প্রসেসিংয়ের সময় "মোভ অ্যাটাম পাওয়া যায়নি" এর একটি ত্রুটি ফাইল করে যা ভিএলসি তে কিছু খেলবে না।
সূর্য

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