একটি ভিওবি ফাইলকে এভিতে কীভাবে রূপান্তর করবেন?


10

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

  • এমপ্লেয়ার (যেমন পদক্ষেপ ফাংশন ব্যবহার করে) এর সাথে ব্যবহারযোগ্য
  • প্রয়োজনীয় হিসাবে সাবটাইটেল সহ (বা মোটেও কেউ নেই)
  • সঠিক অডিও ট্র্যাক সহ
  • সিঙ্কে ভিডিও এবং অডিও সহ

আমি কিছু চেষ্টা করেছি ffmpegএবং avconvকমান্ড দিয়েছি এবং একটি এআইআই তৈরি করতে সক্ষম হয়েছি , তবে ভিডিও এবং অডিও পুরোপুরি সিঙ্কের বাইরে চলে গেছে। সুতরাং ভিওবি ফাইলটি এভিআই ফাইলে রূপান্তর করতে আমার কোন বিকল্পগুলি ব্যবহার করা উচিত?

আমি প্রস্তাবিত বিকল্পগুলির কিছু ব্যাখ্যা প্রশংসা করব!

অতিরিক্ত তথ্য:

  1. ffmpegকমান্ড ইনপুট ফাইল জন্য নিম্নলিখিত আউটপুট দেয়

    Input #0, mpeg, from 'Videos/Test/VIDEO_TS/VTS_01_1.VOB':
      Duration: 00:04:53.32, start: 0.045500, bitrate: 29284 kb/s
        Stream #0.0[0x1e0]: Video: mpeg2video (Main), yuv420p, 720x480 [PAR 8:9 DAR 4:3], 7500 kb/s, 27.68 fps, 59.94 tbr, 90k tbn, 59.94 tbc
        Stream #0.1[0x82]: Audio: ac3, 48000 Hz, 5.1, s16, 384 kb/s
        Stream #0.2[0x80]: Audio: ac3, 48000 Hz, 5.1, s16, 448 kb/s
        Stream #0.3[0x81]: Audio: ac3, 0 channels
    [buffer @ 0x15ca6e0] w:720 h:480 pixfmt:yuv420p
    
  2. নিম্নলিখিত আদেশ

    ffmpeg -i Videos/Test/VIDEO_TS/VTS_01_1.VOB -ss 589 -t 274 -sameq -acodec copy -ab 320k output.avi
    

    উদাহরণস্বরূপ, আমার উবুন্টু সেশনের ক্র্যাশ হয়েছিল।

  3. নিম্নলিখিত আদেশ

    avconv -i Videos/Test/VIDEO_TS/VTS_01_1.VOB -acodec copy -vcodec copy output.avi
    

    উদাহরণস্বরূপ নিম্নলিখিত ত্রুটির ফলস্বরূপ:

    Application provided invalid, non monotonically increasing dts to muxer in stream 1: 374 >= 374
    av_interleaved_write_frame(): Invalid argument
    
  4. নিম্নলিখিত আদেশ

    avconv -i Videos/Test/VIDEO_TS/VTS_01_1.VOB -f avi -c:v mpeg4 -b:v 800k -g 300 -bf 2 -c:a libmp3lame -b:a 128k output.avi
    

    উদাহরণস্বরূপ নিম্নলিখিত ত্রুটির ফলস্বরূপ:

    Error while opening encoder for output stream #0:1 - maybe incorrect parameters such as bit_rate, rate, width or height
    
  5. নিম্নলিখিত আদেশ

    avconv -i Videos/Test/VIDEO_TS/VTS_01_1.VOB -f avi -c:v mpeg4 -b:v 800k -g 300 -bf 2 -c:a ac3 -b:a 128k output.avi
    

    উদাহরণস্বরূপ মনে হয়েছিল কিছু ফ্রেমের জন্য কাজ করেছে। তবে খুব শীঘ্রই আমি ফর্মটির অনেক ত্রুটির মুখোমুখি হয়েছি

    [ac3 @ 0x120d480] frame sync error
    Error while decoding stream #0:1
    frame CRC mismatch
    
  6. নিম্নলিখিত আদেশ

    mencoder Videos/Test/VIDEO_TS/VTS_01_1.VOB -oac copy -ovc x264 -x264encopts bitrate=2500 -o output.avi
    

    কিছু রূপান্তর করেছে, তবে (i) সাবটাইটেলগুলি ব্যবহার করছে যদিও আমি সেগুলি ব্যবহার করতে চাইনি (ii) অডিওটি ভুল পেয়েছে (অডিও এবং ভিডিওটি ভয়াবহভাবে ভুল জায়গায় প্রতিস্থাপন করা হয়েছে) এবং (iii) সিনেমাটি আসলে যাওয়ার চেয়ে ধীর বলে মনে হচ্ছে (নিতে পারে) 90 মিনিটের সিনেমার জন্য 2 ঘন্টা)।

  7. আমি এখানে প্রদত্ত কমান্ড দেওয়ার চেষ্টা করেছি (জেরাতুলের তৃতীয় পোস্ট), তবে এটি ত্রুটির সাথে থেমে গেছে

    FATAL: Cannot initialize video driver.
    
  8. মেনকোডার পৃষ্ঠাটি দেখার জন্য আমি নীচে দেওয়া পরামর্শটি চেষ্টা করেছি । এই পৃষ্ঠাটি দুটি পাস ব্যবহার করার পরামর্শ দেয়:

    প্রথমটি মুভি সম্পর্কে তথ্য পড়ে, দ্বিতীয়টি সেই তথ্যটি এনকোডে ব্যবহার করে।

    কিন্তু কেউই এটা ব্যাখ্যা করা হয় যা তথ্য নিষ্কাশন না করার কিভাবে তাদের দ্বিতীয় পাস ব্যবহার করতে। সুতরাং আমি নিম্নলিখিত কমান্ডটি ব্যবহার করেছি:

    mencoder Videos/Test/VIDEO_TS/VTS_01_1.VOB -nosound -ovc x264 \
    -x264encopts direct=auto:pass=2:bitrate=900:frameref=5:bframes=1:\
    me=umh:partitions=all:trellis=1:qp_step=4:qcomp=0.7:direct_pred=auto:keyint=300 \
    -vf scale=-1:-10,harddup -o video.avi
    

    যা ভিডিও রূপান্তর করেছে, কিন্তু একটি অযাচিত সাবটাইটেল দিয়ে। আমি কীভাবে সাবটাইটেলটি ব্যবহার এড়াতে পারি তা মোটেও পরিষ্কার নয়।


ffmpegদীর্ঘ সময় আগে থেকে নিন্দা করা হয়েছে, আপনি তার নিজের উত্তরাধিকারী ব্যবহার করতে অনুমিত হয়: avconv
ব্যবহারকারী 2485710

সুতরাং কীভাবে ব্যবহার avconvকরতে হয় ভিওবি ফাইলগুলিকে এভিতে রূপান্তর করতে। কমান্ডটি avconv -i Videos/Test/VIDEO_TS/VTS_01_1.VOB -acodec copy -vcodec copy test.aviএকটি ত্রুটি দিয়েছে Application provided invalid, non monotonically increasing dts to muxer in stream 1: 374 >= 374 av_interleaved_write_frame(): Invalid argument...
অ্যালেক্স

অ্যাঙ্কনভের ম্যানপেজে একটি উদাহরণ রয়েছে, ডিক্রিপ্টেড ভিওবি ফাইলগুলির জন্য এটি ব্যবহার avconv -i snatch_1.vob -f avi -c:v mpeg4 -b:v 800k -g 300 -bf 2 -c:a libmp3lame -b:a 128k snatch.aviকরে দেখুন
user2485710

এটি একটি ত্রুটি দেয়Error while opening encoder for output stream #0:1 - maybe incorrect parameters such as bit_rate, rate, width or height
অ্যালেক্স

mencoder yourvob -oac copy -ovc x264 -x264encopts pass=1:preset=veryslow:fast_pskip=0:tune=film:frameref=15:bitrate=3000:threads=auto -nosub -o /dev/nullতারপরে চেষ্টা করুন mencoder yourvob -oac copy -ovc x264 -x264encopts pass=2:preset=veryslow:fast_pskip=0:tune=film:frameref=15:bitrate=3000:threads=auto -nosub -o video.avi- এটি লিখিত আর্ক ডক @ dg99 থেকে কিছুটা অংশ নিয়েছে।

উত্তর:


6

সাবটাইটেলগুলি থেকে মুক্তি পেতে আমার বিশ্বাস আপনি -nosub.VOB ফাইলের নামের ঠিক পরে স্যুইচটি যুক্ত করতে পারেন ।

উদাহরণ

$ mencoder Videos/Test/VIDEO_TS/VTS_01_1.VOB -nosub -nosound -ovc x264 \
-x264encopts direct=auto:pass=2:bitrate=900:frameref=5:bframes=1:\
me=umh:partitions=all:trellis=1:qp_step=4:qcomp=0.7:direct_pred=auto:keyint=300 \
-vf scale=-1:-10,harddup -o video.avi

বিস্তারিত

এই প্রবণতা প্রায়শই খুব ঘন হয় তাই একে একে কিছুটা ভাঙ্গতে

  • ইনপুট ফাইল: Videos/Test/VIDEO_TS/VTS_01_1.VOB
  • আউটপুট ফাইল: -o video.avi
  • উপ উপাধি বিহীন: -nosub
  • শব্দটি এনকোড করবেন না: -nosound
  • প্রদত্ত কোডেক সহ এনকোড করুন: -ovc x264

অন্যান্য কোডেকগুলির তালিকা

$ mencoder -ovc help
MEncoder SVN-r36171-4.8.1 (C) 2000-2013 MPlayer Team

Available codecs:
   copy     - frame copy, without re-encoding. Doesn't work with filters.
   frameno  - special audio-only file for 3-pass encoding, see DOCS.
   raw      - uncompressed video. Use fourcc option to set format explicitly.
   nuv      - nuppel video
   lavc     - libavcodec codecs - best quality!
   libdv    - DV encoding with libdv v0.9.5
   xvid     - XviD encoding
   x264     - H.264 encoding
  • x264 এনকোড বিকল্পগুলি: x264encopts
  • সরাসরি গতি ভেক্টর জন্য মোড সেট করুন :direct=auto
  • পাস সংখ্যা :pass=2
  • লক্ষ্য এনকোডিং বিটরেট: bitrate=900
  • প্রাক। বি- এবং পি-ফ্রেমগুলিতে ভবিষ্যদ্বাণীকারী হিসাবে ব্যবহৃত ফ্রেম (ডিফ: 3):frameref=5
  • বি-ফ্রেমের সমকালীন # bframes=1
  • ফুলপিক্সেল গতির প্রাক্কলন alg .: me=umh

    দ্রষ্টব্য: ওম - অসম বহু-ষড়ভুজ অনুসন্ধান (ধীর)

  • সমস্ত ম্যাক্রোব্লক প্রকারগুলি সক্ষম করুন: partitions=all

  • হার-বিকৃতি অনুকূল কোয়ান্টাইজেশন: trellis=1

    দ্রষ্টব্য: 2 - সমস্ত মোডের সিদ্ধান্তের সময় সক্ষম করা হয়েছে (ধীর, subq> = 6 প্রয়োজন)

  • কোয়ান্টিজার ইনক্রিমেন্ট / অবজ্ঞানের মান: qp_step=4

    দ্রষ্টব্য: সর্বাধিক মান যার দ্বারা কোয়ান্টাইজার ফ্রেমগুলির মধ্যে বাড়ানো / হ্রাস হতে পারে (ডিফল্ট: 4)

  • কোয়ান্টিজার সংক্ষেপণ (ডিফল্ট: 0.6): qcomp=0.7

  • বি-ফ্রেমে ম্যাক্রোব্লকগুলির জন্য গতির ভবিষ্যদ্বাণী: direct_pred=auto
  • ফ্রেমে কীফ্রেমগুলির মধ্যে সর্বাধিক বিরতি: keyint=300

  • এর পরে অপশনগুলি ভিডিও ফিল্টারগুলি: -vf

দ্রষ্টব্য: ভিডিও ফিল্টার স্যুইচগুলির জন্য, আপনি harddupশেষ ফিল্টার হিসাবে ব্যবহার করা গুরুত্বপূর্ণ : এটি মেকনোডারকে আউটপুটে প্রতিটি ফ্রেম (এমনকি ডুপ্লিকেটগুলিও) লিখতে বাধ্য করে। এছাড়াও, এটি ব্যবহার করার জন্য প্রয়োজনীয় scale=$WIDTH,-10সঙ্গে $WIDTHযেমন -1মূল প্রস্থ অথবা একটি নতুন, সাধারণত ছোট, প্রস্থ রাখতে হবে: এটা প্রয়োজনীয় যেহেতু H.264 তে কোডেক ব্যবহার বর্গ পিক্সেল ও ডিভিডি পরিবর্তে আয়তাকার পিক্সেল ব্যবহার করুন।

  • scale=-1
  • -10
  • harddup

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

@ অ্যালেক্স - কেবল একটি চিন্তাভাবনা, তবে আমি মনে করি না যে আপনি কেবল -oac copyদুটি পাস দিয়ে একটি করতে পারবেন , যেহেতু আপনি ভিডিওটি পুনরায় এনকোড করছেন, আপনাকে এটির সাথে অডিওটি পুনরায় এনকোড করতে হবে। তাদের "প্যাকিং" হিসেবে VOB ফাইল এটি পছন্দ করেছেন মার্জ করা উচিত: cat *.vob all.vob। তারপরে all.vobমেনকোডার সেমিডিতে ব্যবহার করুন । এটি করার অন্যান্য উপায়ও রয়েছে।
slm

3

যদি আপনি ব্যবহার করার ইচ্ছা করেন mplayer, তবে আপনার mencoder( http://www.mplayerhq.hu ) চেষ্টা করা উচিত । এর সেরা বৈশিষ্ট্যগুলির মধ্যে একটি হ'ল mplayerএনকোডিংয়ের সময় আপনি যে প্লেব্যাক বিকল্পগুলি জানেন সেগুলি বেশ একইভাবে আচরণ করে। এছাড়াও, আপনি যা জিজ্ঞাসা করছেন ঠিক তেমন অনেকগুলি ডকুমেন্টেশন এবং ইমেল থ্রেড রয়েছে:


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

1
সত্য, তবে খ্যাতি পাওয়ার জন্য আমি উত্তরটি লিখিনি, আপনাকে সাহায্যের জন্য লিখেছিলাম। কিছু mencoderপৃষ্ঠার মাধ্যমে পড়া বিবেচনা করবেন না । বেশ কয়েকটি জলদস্যু দল রয়েছে যারা কেবল mencoderতাদের সমস্ত কাজের জন্য ব্যবহার করে ; এটি কতটা সহজ এবং শক্তিশালী এবং স্বয়ংক্রিয়ভাবে হতে পারে।
dg99

2

আমি জানি এটি পুরানো পোস্টিং তবে ইন্টারনেটে এই সমস্যাটি অনুসন্ধান করা উপরের প্রশ্নটি পপ আপ হয় এবং অন্য কিছু এন্ট্রি আরও পুরানো।

আমি বিভিন্ন সরঞ্জাম চেষ্টা করেছি তবে শেষ পর্যন্ত আমি এই আদেশটি দিয়ে সবচেয়ে সন্তুষ্ট:

ffmpeg -i *.vob -c:v libx264 -crf 20 -c:a libmp3lame -ac 2 -ab 192k output.avi

এটি আমি এখানে পেয়েছি এটির একটি সামান্য পরিবর্তন ।

আমি সবেমাত্র অডিও কোডেক প্রতিস্থাপন করেছি ( libflacআমার সিস্টেমে অনুপস্থিত ছিলাম, তাই আমি এটিকে libmp3lame( উত্স ) এবং -crfমান বাড়ানোর মান দিয়ে প্রতিস্থাপন করেছি Other অন্যান্য ফর্ম্যাটগুলিও ব্যবহার করা যেতে পারে, যেমন mp4

আমার পরীক্ষায় (বরং একটি মাঝারি প্রসেসর সহ) একটি ২.6 গিগাবাইট ভোব ফাইল (ইতিমধ্যে তিনটি অন্য ফাইলের মধ্যে সংক্ষিপ্ত) প্রায় 50 মিনিটের মধ্যে তুলনীয় মানের একটি 960 এমবি এভি ভিডিওতে রূপান্তরিত হয়েছিল।

20 হ'ল মাঝারি গ্রহণযোগ্য গুণ (হ্যান্ডব্রেক সহায়তা নিবন্ধগুলিতে আমি দেখেছি)। বৃহত্তর সংখ্যা মানের ব্যয় করে আকার হ্রাস করে। 20 টিরও বেশি মানের ক্ষতি স্পষ্ট।

অগ্রগতিটি দেখতে, এটি আরও সহজে হত্যা করা ইত্যাদির জন্য টার্মিনালে এই কমান্ডটি ব্যবহার করা ভাল is

এই কমান্ডটি সম্পর্কে আমি যা পছন্দ করি তা হ'ল এটি গুণমান, সময় এবং আকারের মধ্যে একটি ভাল ভারসাম্য সরবরাহ করে এবং এটি ফাইল ম্যানেজারের প্রসঙ্গ মেনু থেকে সহজেই ব্যবহার করা যায়।

কীভাবে এটি করা যায় তা ফাইল ম্যানেজারের উপর নির্ভর করে। কমান্ডটি 'কাস্টম অ্যাকশন' হিসাবে সহজেই থুনার এবং নটিলাসে যুক্ত করা যায়। আমি এ জাতীয় ~/.kde/share/kde4/services/ServiceMenus/convert_vob_to_avi.desktopফাইল সহ এটি ডলফিনে যুক্ত করেছি :

[Desktop Entry]
Type=Service
ServiceTypes=KonqPopupMenu/Plugin,video/mpeg
MimeType=video/mpeg
Actions=Convert2avi
X-KDE-Submenu=Convert vob (DVD video)
Encoding=UTF8

[Desktop Action Convert2avi]
Name=to avi
Icon=video
Exec=konsole -e ffmpeg -i *.vob -c:v libx264 -crf 20 -c:a libmp3lame -ac 2 -ab 192k output.avi

এখানে চিত্র বর্ণনা লিখুন

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