এক-লাইন কমান্ড দিয়ে একটি ভিডিওর অংশ বের করুন


81

আমার কাছে যদি একটি ভিডিও থাকে তবে সাধারণত এভি, তবে যে কোনও হতে পারে, এবং আমি একই ফর্ম্যাটটিতে অন্য একটি তৈরি করতে চাই তবে কেবল একটি অংশ, পজিশনে আমি সেকেন্ড থেকে এফ সেকেন্ডে ভিডিও করতে পারি, এক-লাইন কমান্ডটি কী করতে হবে এই?

উত্তর:


114

এটি ব্যবহার করে mencoderএবং করা যায় ffmpeg

mencoder

বলুন যে আপনি 5:00 সেকেন্ড দৈর্ঘ্য সহ মূল ফাইলটিতে 00:00:30 থেকে শুরু করে একটি অংশ কাটাতে চান এবং এটি পুনরায় কোডিং করা উচিত নয় (আপনি যদি পুনরায় এনকোড করতে চান তবে আপনাকে copyঅডিও দিয়ে প্রতিস্থাপন করতে হবে) এবং ভিডিও কোডেকগুলি উপলভ্য অডিও কোডেক ইস্যুর mencoder -oac helpতালিকার জন্য, উপলভ্য ভিডিও কোডেক ইস্যুর তালিকার জন্য mencoder -ovc help), তারপরে আপনি ইস্যু করুন:

mencoder -ss 00:30:00 -endpos 00:00:05 -oac copy -ovc copy originalfile -o newfile

আপনাকে প্রতিস্থাপন করতে হবে orginalfileএবং newfileপ্রকৃত ফাইলের নাম সহ, পরে সেই ফাইলটির নাম যা কাটা অংশটি ধারণ করার জন্য তৈরি করা হয়েছিল।

ffmpeg

বলুন যে আপনি 5:00 সেকেন্ড দৈর্ঘ্য সহ মূল ফাইলটিতে 00:00:30 থেকে শুরু করে একটি অংশ কাটাতে চান এবং এটি পুনরায় এনকোড করা উচিত নয় (যদি আপনি এটি পুনরায় এনকোড করতে চান তবে আপনাকে প্রতিস্থাপন করতে হবে copyঅডিও এবং ভিডিও কোডেক সহ, উপলভ্য কোডেকগুলি ইস্যুর তালিকার জন্য ffmpeg -formats -E), তারপরে আপনি ইস্যু করুন:

ffmpeg -ss 00:00:30 -i orginalfile -t 00:00:05 -vcodec copy -acodec copy newfile

আপনাকে প্রতিস্থাপন করতে হবে orginalfileএবং newfileপ্রকৃত ফাইলের নাম সহ, পরে সেই ফাইলটির নাম যা কাটা অংশটি ধারণ করার জন্য তৈরি করা হয়েছিল।


রেফারেন্সের জন্য http://lazyxiong-tech.blogspot.com/2007/05/ using-mencoder-to-cut-out-pieces-of.html এবং "7. ভিডিওর একটি অংশের অনুলিপি" দেখুন : http: // এ segfault.in/2010/10/ffmpeg-tricks-you-should-know-about/


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

@strapakowsky এটি ইনপুট ফাইল এবং আপনি কোন কোডেক ইনস্টল করেছেন তার উপর নির্ভর করে। সম্ভবত আপনার এটির জন্য একটি নতুন প্রশ্ন করা উচিত এবং কোন ফাইলটি পেয়েছেন এবং কোন আদেশটি আপনি চেষ্টা করেছেন সে সম্পর্কে তথ্য যুক্ত করা উচিত।
এনএন

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

সবেমাত্র এর একটি সংস্করণ ব্যবহার করা হয়েছে। এটা করার জন্য আপনাকে কারণ কাজ করছে না -ss ... -t ...চাহিদা হতে সামনে-i infile বিকল্প। আসল ওয়ান-লাইনারের জন্য এই উত্তরটি দেখুন । আপনি প্রায় পেয়েছেন, কেবল অর্ডার নয় ...
হেন্ডি

1
@ হেন্ডি সেই অনুযায়ী সম্পাদিত হয়েছে
এনএন

25

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

সংক্ষিপ্তসার: ffmpeg -i [ইনপুট_ফাইলে] -এসএস [শুরু_সেকেন্ডস] - টি [সময়কাল_সেকেন্ডস] [আউটপুট_ফাইলে]

পুনরায় এনকোডিং ছাড়াই FFmpeg কাটা এমপি 4 ভিডিও ব্যবহার করুন

Example:
ffmpeg -i source.mp4 -ss 00:00:05 -t 00:00:10 -c copy cut_video.mp4

পুনরায় এনকোডিং সহ এফএফপিপেগ কাটা এমপি 4 ভিডিও ব্যবহার করুন

Example:
ffmpeg -i source.mp4 -ss 00:00:05 -t 00:00:10 -async 1 -strict -2 cut_video.mp4

আপনি যদি প্রথম থেকেই বিভাগটি কাটাতে চান -t 00:00:10তবে কমান্ডটি থেকে বাদ দিন


0

medipack উপর একটি মোড়কের যেমন একটি খুব সহজ কম্যান্ড-লাইন অ্যাপ্লিকেশন ffmpeg

আপনি এই আদেশগুলি ব্যবহার করে আপনার ভিডিওটি ছাঁটাই করতে পারবেন:

medipack trim input.mp4 -s 01:04 -e 14:08 -o output.mp4
medipack trim input.mp4 -s 01:04 -t 13:04 -o output.mp4

আপনি ট্রিম সাবকম্যান্ডের বিকল্পগুলি দেখতে পারেন:

srb@srb-pc:$ medipack trim -h
usage: medipack trim [-h] [-s START] [-e END | -t TIME] [-o OUTPUT] [inp]

positional arguments:
  inp                   input video file ex: input.mp4

optional arguments:
  -h, --help            show this help message and exit
  -s START, --start START
                        start time for cuting in format hh:mm:ss or mm:ss
  -e END, --end END     end time for cuting in format hh:mm:ss or mm:ss
  -t TIME, --time TIME  clip duration in format hh:mm:ss or mm:ss
  -o OUTPUT, --output OUTPUT

আপনি অন্যান্য বিকল্প ব্যবহার করে অন্বেষণ করতে পারে medipack -h

srb@srb-pc:$ medipack --help
usage: medipack.py [-h] [-v] {trim,crop,resize,extract} ...

positional arguments:
  {trim,crop,resize,extract}

optional arguments:
  -h, --help            show this help message and exit
  -v, --version         Display version number

আপনি https://github.com/srbcheema1/medipack এবং চেকআউট উদাহরণ README এ দেখতে পারেন।


-1

আরও নিখুঁত হওয়ার জন্য আপনি যা করতে পারেন: ম্যানুয়ালি ফাইলটি এমন একটি মিডিয়া প্লেয়ারে খুলুন যা ফ্রেম অগ্রিম ফ্রেম করে দেবে (পটপ্লেয়ার আমার প্রিয় তবে এমপিসি-এইচসি কাজ করে) এবং ডেভিড সহ একটি এভিআইসেন্ট ফাইল খেলবে যেমন:

DirectShowSource(("C:\Downloads\Video\Do you want him.flv"), Pixel_Type="yuy2").Crop(0,0,-0,-0)
Subtitle("C:\Downloads\Video\Do you want him.flv", font="Arial", size=24, text_color=$ff0000, align=3)
ShowFrameNumber(scroll=true, x=336, y=27, font="Arial", size=24, text_color=$ff0000)

ShowTime(x=398, y=44, font="Arial", size=24, text_color=$ff0000)

তারপরে ঠিক সময় বিন্যাসটি দিয়ে কাটা:

ffmpeg -i "Path\do you want him.flv" -ss 00:00:05.240 -to 00:00:08.360 -vcodec libx264 -acodec libvo_aacenc "Path\Do you want him1.flv"

এবং

ffmpeg -i "Path\do you want him.flv" -ss 00:00:10.240 -to 00:00:14.360 -vcodec libx264 -acodec libvo_aacenc "Path\Do you want him2.flv"

আপনি যদি যোগ দিতে চান তবে ভিডিও ফাইলগুলির সাথে এই জাতীয় সামগ্রী সহ একটি টেক্সট ফাইল করুন:

file 'C:\Downloads\Video\Do you want him1.flv'

file 'C:\Downloads\Video\Do you want him2.flv'

চালান ffmpeg:

ffmpeg -f concat -i FileList.txt -c copy "Path\NewName_joined.flv"

প্রোগ্রামিমেটলি আমি একটি প্রোগ্রাম লিখেছি তবে এটি দেখানোর জন্য কোনও স্তর নেই 10, দুঃখিত

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