শ্রুতিবদ্ধ ফাইলগুলিতে রূপান্তর করতে আমি কীভাবে ffmpeg ব্যবহার করব


13

আমি হোমব্রিউ থেকে ffmpeg v2.8.1 চালাচ্ছি, এবং শ্রাব্য ফাইলগুলিতে রূপান্তর করার চেষ্টা করছি তবে আমার কিছু কৌশল আছে যা আমি অনুপস্থিত।

এই কমান্ড এই ত্রুটি আউটপুট উত্পাদন করে।

ffmpeg -activation_bytes 1CEB00DA -i Volume1.aax -vn -c:a copy output.mp4

[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fc9a4010600] [aax] file checksum == d72f1f04e3c73d0bc68e742db1bc69b58dc3a500
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fc9a4010600] [aax] mismatch in checksums!
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fc9a4010600] error reading header
Volume1.aax: Invalid data found when processing input

আমি জানি ফাইলটি ঠিক আছে, কারণ এটি আইটিউনসে খেলে। আমার এতে ফাইল ইমেজ / কভার আর্ট এম্বেড করা আছে,

Ffmpeg ডক্স থেকে, আমি পড়লাম শ্রুত AAX ফাইলগুলি এনক্রিপ্ট করা এম 4 বি ফাইলগুলি রয়েছে এবং সেগুলি একটি 4 বাইট অ্যাক্টিভেশন গোপনীয়তা নির্দিষ্ট করে ডিক্রিপ্ট করা যায়।

আমি অনুমান করছি - সম্ভবত ভুলভাবে - দেওয়া একটি ঠিক আছে। যদি তা না হয় তবে কীভাবে কেউ সেই গোপনীয়তা আবিষ্কার করে।


উত্তর:


31

প্রথমে এই আদেশগুলি চালান:

brew install chromedriver ffmpeg
sudo easy_install pip
pip install selenium requests
git clone https://github.com/inAudible-NG/audible-activator
cd audible-activator
sed -i '' 's,chromedriver_path = "./chromedriver",chromedriver_path = "/usr/local/bin/chromedriver",' audible-activator.py
./audible-activator.py

তারপরে আপনার শ্রাব্য ব্যবহারকারীর নাম এবং পাসওয়ার্ড লিখুন এবং আটটি অক্ষর অ্যাক্টিভেশন কী মুদ্রণের জন্য অপেক্ষা করুন।

আপনি যদি ভেরিয়েবলের sedমান পরিবর্তন করে এমন কমান্ডটি চালনা না করেন তবে পথে বা ডিরেক্টরিতে থাকলেও একটি ত্রুটির ফলস্বরূপ । যদি আপনার জিএনইউ হয় তবে এর সাথে প্রতিস্থাপন করুন ।chromedriver_path./audible-activator.py'chromedriver' executable needs to be in PATHchromedriveraudible-activatorsedsedsed -i ''sed -i

এর পরে একটি কমান্ড চালান:

ffmpeg -activation_bytes youractivationkey -i input.aax -c copy output.m4b

(আমি কমান্ড LiWang এবং মার্কাস erronius দ্বারা মন্তব্যের উপর নির্ভর করে উপরে প্রতিস্থাপন সম্পাদিত output.m4a;mv output.m4{a,b}সঙ্গে output.m4bএবং প্রতিস্থাপন -vn -c:v copyসঙ্গে -c copy।)

যদি আপনি ffmpegকোনও aaফাইলের পরিবর্তে কোনও ফাইল ব্যবহার করে উপরের কমান্ডটি ব্যবহার করার চেষ্টা করেন তবে aaxএটির মতো একটি ত্রুটির ফলস্বরূপ Option activation_bytes not found। এর aaxপরিবর্তে অডিবল থেকে একটি বই ডাউনলোড করতে, বই ডাউনলোড করার aaজন্য ভিউতে "অডিও গুণ" ড্রপডাউন থেকে "বর্ধিত" চয়ন করুন।

aaxফাইল এনক্রিপ্ট করা হয় mp4/ m4a/ m4bতাই ফাইল ffmpegকমান্ড উপরে পুনরায় সঙ্কেতাক্ষরে লিখা নেই অডিও এবং এটা যেমন অধ্যায়গুলির যেমন মেটাডেটা অপরিবর্তিত। mp4, m4aএবং m4bMPEG-4 পার্ট 14 ধারক বিন্যাসের জন্য বিকল্প ফাইল নাম এক্সটেনশন। দ্য m4aএবং m4bএক্সটেনশন মূলত অ্যাপল চালু করা হয়েছে। মধ্যে একটি পার্থক্য m4aএবং m4bএক্সটেনশনের আই টিউনস পূর্ববর্তী প্লেব্যাক অবস্থান মনে রাখতে বিকল্প কোন সঙ্গে ফাইলের জন্য ডিফল্ট সক্রিয় হয় m4bএক্সটেনশন কিন্তু একটি ফাইল নয় m4aএক্সটেনশান। আইটিউনস m4bঅডিওবুকের অধীনে ডিফল্টরূপে একটি এক্সটেনশন সহ ফাইলগুলিও প্রদর্শন করে ।

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

m4bএক্সটেনশনের জন্য ইউটিআই com.apple.protected-mpeg-4-audioএবং ফাইন্ডার সমস্ত m4bফাইলের প্রকারটিকে "সুরক্ষিত এমপিইজি -4 অডিও" হিসাবে দেখায় যদিও কোনও m4bএক্সটেনশানের সমস্ত ফাইলের অনুলিপি সুরক্ষা নেই।


আমি ব্যবহার করছি .aaxফাইল এবং ত্রুটি পেয়ে: Unrecognized option 'activation_bytes'.। কোন ধারনা? শ্রাব্য কি গত বছরে তাদের ফর্ম্যাট পরিবর্তন করেছে?
lollercoaster

3
রূপান্তর করার কোনও কারণ *.m4aএবং তারপরে নামকরণ *.m4b? কেন শুধু শুধু একটি করুন: ffmpeg -activation_bytes youractivationkey -i input.aax -vn -c:a copy output.m4b?
লি ওয়াং 19

1
@ লাইওয়াং এর ফলে ffmpeg এর পুরানো সংস্করণগুলির মধ্যে একটি ত্রুটির সৃষ্টি হয়েছিল, তবে এটি আর মনে হয় না।
নিসেতামা

@ user4669748 আমি দেখছি। নিশ্চিত করার জন্য ধন্যবাদ!
লি ওয়াং 18

অজগরটি কাজ করতে আমাকে এই আদেশটি ব্যবহার করতে হয়েছিল, তবে এটি পরে নিখুঁত! ln -sf /usr/bin/python2.7 / usr / স্থানীয় / বিন / পাইথন 2
সেথমর

7

এটি আপনাকে আপনার সক্রিয়করণ গোপন করবে:

https://github.com/inAudible-NG/audible-activator


1
আমি প্রকৃত রূপান্তর করতে এই স্ক্রিপ্টটি ব্যবহার করেছি । এটিও লক্ষণীয় যে আপনাকে এটি ইনস্টল করতে হবে seleniumএবং এর requestsমাধ্যমে pipবা easy_installতার audible-activatorকাজ করতে ডিরেক্টরিতে ক্রোমড্রাইভার ডাউনলোড এবং এক্সট্রাক্ট করতে হবে। এই তথ্যটি audible-activator'র রিডম'-এ সরবরাহ করা হয়েছে তবে সামনের দিকটি জানার জন্য এটি কার্যকর :) :)
অনুভূত

ধন্যবাদ, @ বিনীত; যে লিপিটি সোনার। ম্যাকোজে জিএনইউ গ্রেপ ( ggrepইনস্টল করা brew install grep) ব্যবহার করার জন্য হালকা টুইট করার দরকার পড়েছিল তবে এর পরে দুর্দান্ত কাজ করেছে।
ইকমানাট

6

আমি ব্যবহারকারীর 4669748 এর উত্তর চেষ্টা করে দেখেছি এবং কয়েকটি লক্ষণীয় বিষয় নিয়ে ছুটে এসেছি এবং আমার কাছে কাজ করার মতো জিনিসগুলি খুঁজে পেয়েছি এমন একটি স্থিতি আবিষ্কার করেছি:

  1. শ্রুতি-অ্যাক্টিভেটর.পি এর জন্য পাইথন 2.7 প্রয়োজন; এটি পাইথন 3 এর সাথে ব্যর্থ হয়।
  2. এটি শুরু করার পরে, ক্রোম উইন্ডোটি স্ক্রিনে পপ আপ হয় এবং আপনি জিইউআই ক্রিয়াকলাপ এবং অডিবলকে একটি সফল লগইন দেখতে শুরু করেন।
  3. লগইনের পরে শীঘ্রই, Waiting for px.owneriq.netনীচে স্থিতি দণ্ডে ক্রমাগত প্রদর্শিত ব্রাউজার ক্রিয়াকলাপটি স্তব্ধ হয়ে যায় ।
  4. 5 মিনিটের পরে, আমার একটি টাইমআউট এক্সেপশন ছিল:

    [*] Player ID is 2jmj7l5rSw0yVb/vlWAYkK/YBwk=
    Traceback (most recent call last):
      File "./audible-activator.py", line 151, in <module>
        fetch_activation_bytes(username, password, options)
      File "./audible-activator.py", line 74, in fetch_activation_bytes
        search_box.submit()
      File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/selenium/webdriver/remote/webelement.py", line 88, in submit
        self._execute(Command.SUBMIT_ELEMENT)
      File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/selenium/webdriver/remote/webelement.py", line 494, in _execute
        return self._parent.execute(command, params)
      File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 236, in execute
        self.error_handler.check_response(response)
      File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 192, in check_response
        raise exception_class(message, screen, stacktrace)
    selenium.common.exceptions.TimeoutException: Message: timeout: cannot determine loading status
    from timeout: Timed out receiving message from renderer: -0.222
      (Session info: chrome=54.0.2840.98)
      (Driver info: chromedriver=2.25.426935 (820a95b0b81d33e42712f9198c215f703412e1a1),platform=Mac OS X 10.12.0 x86_64)
    

এই বলে আমি আটকে গেলাম। তবে, px.owneriq.netএটি কোনও ধরণের বিজ্ঞাপন বা ট্র্যাকিং সাইট বলে ভেবে আমি /etc/hostsএকটি অবৈধ আইপি ঠিকানা যুক্ত করে এটি "সাময়িকভাবে অক্ষম" করার চেষ্টা করেছি , যেমন

0.0.0.0 px.owneriq.net

(এটি ব্রাউজারে বিজ্ঞাপন বন্ধ করার জন্য কোনও বন্ধু পরামর্শ দিয়েছিল)

এই যোগ করার পরে /etc/hosts, প্রোগ্রামটি আবার চালান run এটি 30 সেকেন্ডের মধ্যে শেষ হয়েছে।

একটি 4-বাইট অ্যাক্টিভেশন কী স্ক্রিনে মুদ্রিত হয়েছিল এবং ব্যবহারকারীর 4669748 এর উত্তরে বর্ণিত হিসাবে ffmpeg দিয়ে নিখুঁতভাবে কাজ করেছিল।

তারপরে আমি /etc/hostsএর মূল সামগ্রীটিতে পুনরুদ্ধার করেছি ।

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