বড় আকারের মোভ ভিডিও ফাইলগুলি স্বয়ংক্রিয়ভাবে কালো ফ্রেমে ছোট ফাইলগুলিতে বিভক্ত করুন (দৃশ্য পরিবর্তন)?


11

আমার কাছে টেপ_০.এমভ, টেপ_২.মোভ, ..., টেপ_65৫.এমভ নামে .৫ টি .mov ভিডিও ফাইল রয়েছে। প্রতিটি প্রায় 2.5 ঘন্টা দীর্ঘ এবং অনেক গিগাবাইট গ্রহণ করে। এগুলি ভিএইচএস টেপগুলি কী ছিল তার ডিজিটাল অনুলিপি (আমার পরিবারের "হোম চলচ্চিত্র")।

প্রতি 2.5-ঘন্টা .mov ভিডিও ফাইলে অনেকগুলি "অধ্যায়" থাকে (এই অর্থে যে কখনও কখনও দৃশ্যটি একটি কালো পর্দার সাথে বিবর্ণ হয়ে শেষ হয় এবং তারপরে একটি নতুন দৃশ্য ম্লান হয়)।

আমার মূল লক্ষ্যটি হল large৫ টি বৃহত ফাইলগুলি অধ্যায় দ্বারা ছোট ফাইলগুলিতে কাটা। এবং আমি এটি "দৃশ্যের" মধ্যে কালো ফ্রেম সনাক্তকরণের মাধ্যমে স্বয়ংক্রিয়ভাবে সম্পন্ন করতে চাই।

আমি কি f৫ টি মূল ফাইলনাম পাস করার জন্য ffmpeg (বা যে কোনও কিছু) ব্যবহার করতে পারি এবং প্রতিটি ভিডিওর উপরে এটি স্বয়ংক্রিয়ভাবে পুনরাবৃত্তি করতে এবং এটি কেটে ফেলা হতে পারি, ফলাফলগুলি টুকরা নামকরণ টেপ 1_ch_01.mov, টেপ_01-ch_02.mov, টেপ_01-ch_03.mov, ইত্যাদি? এবং আমি এটি পুনরায় এনকোডিং ছাড়াই এটি করতে চাই (আমি এটি একটি সাধারণ লসলেস টুকরো হতে চাই)।

কিভাবে আমি এটি করতে পারব?

আমি চাই সেই পদক্ষেপগুলি এখানে:

  1. এমপি 4 ফাইল হিসাবে রপ্তানি করতে .mov ফাইলের একটি ফোল্ডারের উপরে (টেপ_01.এমভ, টেপ_02.এমভ, ..., টেপ_65.mov নামে পরিচিত) নামকরণ করুন (নামযুক্ত টেপ_01. এমপি 4, টেপ_02. এমপি 4, ..., টেপ_65. এমপি 4) । আমি চাই যে এই পদক্ষেপের জন্য সংক্ষেপণ সেটিংসটি কনফিগার করা সহজ হোক be .Mp4 ফাইলগুলি তৈরি হওয়ার পরেও মূল .mov ফাইলগুলি থাকা উচিত।
  2. এমপি 4 ফাইলগুলির ওপরে পরীক্ষা করুন: প্রতিটি এমপি 4 ফাইলের জন্য, একটি পাঠ্য ফাইল তৈরি করুন যা "দৃশ্যের" মধ্যে কালো বিভাগগুলির প্রারম্ভ সময় এবং সময়কাল নির্দিষ্ট করে। প্রতিটি এমপি 4 এর 0 বা তার বেশি কালো দৃশ্যের বিরতি থাকতে পারে। আরম্ভের সময় এবং সময়কালটি সেকেন্ডের ভগ্নাংশের জন্য যথাযথ হওয়া উচিত। এইচএইচ: এমএম: এসএস ফর্ম্যাটটি যথেষ্ট সুনির্দিষ্ট নয়।
  3. এরপরে আমি এই পাঠ্য ফাইলগুলিকে দৃশ্যের পরিবর্তনগুলি (কালো বিভাগগুলি) সঠিকভাবে সনাক্ত করতে পারি কিনা তা ম্যানুয়ালি ডাবল-চেক করতে সক্ষম হব। আমি চাইলে সময়গুলি সামঞ্জস্য করতে পারি।
  4. অন্য স্ক্রিপ্ট প্রতিটি এমপি 4 ফাইল এবং তার টিএসটি ফাইল এবং বিভক্ত হবে (একটি দুর্দান্ত দ্রুত এবং ক্ষতিহীন উপায়ে) এমপিথেকে টেক্সট ফাইলের লাইনের (সেখানে নির্দেশিত সময়গুলি) এর ভিত্তিতে প্রয়োজনীয় যতগুলি টুকরো করে বিভক্ত করবে। স্প্লিটগুলি প্রতিটি কালো বিভাগের মাঝখানে হওয়া উচিত। এখানে একটি নমুনা এমপি 4 ফাইল রয়েছে (গোপনীয়তার জন্য অডিও সরিয়ে দেওয়া হয়েছে) যাতে বিবর্ণ-থেকে-কালো দৃশ্যের পরিবর্তন রয়েছে। ছোট এমপি 4 ফাইল তৈরি হওয়ায় আসল এমপি 4 ফাইলগুলি অচ্ছুত থাকা উচিত। ছোট এমপি 4 ফাইলে টেপ_01_001.mp4, টেপ_01_002.mp4, টেপ_01_003.mp4 ইত্যাদির নামকরণের স্কিম থাকা উচিত etc.
  5. বোনাস! এটি দুর্দান্ত লাগবে যদি অন্য স্ক্রিপ্টটি ছোট ছোট এমপি 4 ফাইলগুলির মধ্যে পুনরাবৃত্তি করতে পারে এবং এই ব্যক্তির মতো স্ক্রিনশটের মোজাইক প্রতিটিটির জন্য একটি .png চিত্র তৈরি করতে পারে: এফএফপিজেগ ব্যবহার করে কোনও ভিডিওর অর্থপূর্ণ থাম্বনেইল

আমি এই স্ক্রিপ্টগুলি শেল স্ক্রিপ্ট হতে চাই যা আমি ম্যাক, উবুন্টু এবং উইন্ডোজ গিট ব্যাশে চালাতে পারি।

উত্তর:


11

কালো দৃশ্যে লম্বা ভিডিওগুলিকে ছোট অধ্যায়গুলিতে বিভক্ত করতে এখানে দুটি পাওয়ারশেল স্ক্রিপ্ট রয়েছে।

এগুলি সনাক্ত করুন_ব্ল্যাক.পিএস 1 এবং কাট_ব্ল্যাক.পিএস 1 হিসাবে সংরক্ষণ করুন। উইন্ডোজের জন্য ffmpeg ডাউনলোড করুন এবং স্ক্রিপ্টটি বিকল্প বিভাগের অধীনে আপনার ffmpeg.exe এবং আপনার ভিডিও ফোল্ডারের পথটি বলুন।

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

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

  • উভয় ব্যবহৃত এফএফএমপিগ কমান্ডের জন্য কনসোল আউটপুট সহ ভিডিও প্রতি একটি লগফিল
  • ম্যানুয়াল সূক্ষ্ম সুরের জন্য কালো দৃশ্যের সমস্ত টাইমস্ট্যাম্প সহ ভিডিও প্রতি সিএসভি ফাইল
  • পূর্বে কয়টি কালো দৃশ্য সনাক্ত হয়েছে তার উপর নির্ভর করে কয়েকটি নতুন ভিডিও

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


চালানোর জন্য প্রথম স্ক্রিপ্ট: সনাক্ত করুন_ব্ল্যাক.পিএস 1

 ### Options __________________________________________________________________________________________________________
$ffmpeg = ".\ffmpeg.exe"            # Set path to your ffmpeg.exe; Build Version: git-45581ed (2014-02-16)
$folder = ".\Videos\*"              # Set path to your video folder; '\*' must be appended
$filter = @("*.mov","*.mp4")        # Set which file extensions should be processed
$dur = 4                            # Set the minimum detected black duration (in seconds)
$pic = 0.98                         # Set the threshold for considering a picture as "black" (in percent)
$pix = 0.15                         # Set the threshold for considering a pixel "black" (in luminance)

### Main Program ______________________________________________________________________________________________________

foreach ($video in dir $folder -include $filter -exclude "*_???.*" -r){

  ### Set path to logfile
  $logfile = "$($video.FullName)_ffmpeg.log"

  ### analyse each video with ffmpeg and search for black scenes
  & $ffmpeg -i $video -vf blackdetect=d=`"$dur`":pic_th=`"$pic`":pix_th=`"$pix`" -an -f null - 2> $logfile

  ### Use regex to extract timings from logfile
  $report = @()
  Select-String 'black_start:.*black_end:' $logfile | % { 
    $black          = "" | Select  start, end, cut

    # extract start time of black scene
    $start_s     = $_.line -match '(?<=black_start:)\S*(?= black_end:)'    | % {$matches[0]}
    $start_ts    = [timespan]::fromseconds($start_s)
    $black.start = "{0:HH:mm:ss.fff}" -f ([datetime]$start_ts.Ticks)

    # extract duration of black scene
    $end_s       = $_.line -match '(?<=black_end:)\S*(?= black_duration:)' | % {$matches[0]}
    $end_ts      = [timespan]::fromseconds($end_s)
    $black.end   = "{0:HH:mm:ss.fff}" -f ([datetime]$end_ts.Ticks)    

    # calculate cut point: black start time + black duration / 2
    $cut_s       = ([double]$start_s + [double]$end_s) / 2
    $cut_ts      = [timespan]::fromseconds($cut_s)
    $black.cut   = "{0:HH:mm:ss.fff}" -f ([datetime]$cut_ts.Ticks)

    $report += $black
  }

  ### Write start time, duration and the cut point for each black scene to a seperate CSV
  $report | Export-Csv -path "$($video.FullName)_cutpoints.csv" –NoTypeInformation
}

এটা কিভাবে কাজ করে

প্রথম লিপিটি সমস্ত ভিডিও ফাইলের মাধ্যমে পুনরাবৃত্তি করে যা একটি নির্দিষ্ট বর্ধনের সাথে মেলে এবং প্যাটার্নের সাথে মেলে না *_???.*, যেহেতু নতুন ভিডিও অধ্যায়গুলির নামকরণ করা হয়েছিল <filename>_###.<ext>এবং আমরা সেগুলি বাদ দিতে চাই।

এটি সমস্ত কালো দৃশ্যের সন্ধান করে এবং একটি নতুন সিএসভি ফাইল নামের শুরুর টাইমস্ট্যাম্প এবং কালো দৃশ্যের সময়কাল লিখেছে <video_name>_cutpoints.txt

এছাড়া কাটা পয়েন্ট দেখানো হয়েছে হিসাব: cutpoint = black_start + black_duration / 2। পরে, ভিডিওটি এই টাইমস্ট্যাম্পগুলিতে ভাগ হয়ে যায়।

আপনার নমুনা ভিডিওর জন্য কাটপয়েন্টস.টেক্সট ফাইলটি প্রদর্শন করবে:

start          end            cut
00:03:56.908   00:04:02.247   00:03:59.578
00:08:02.525   00:08:10.233   00:08:06.379

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

স্যাম্পল ভিডিওটির জন্য কালো দৃশ্যগুলি সনাক্ত করার জন্য ffmpeg কমান্ড

$ffmpeg -i "Tape_10_3b.mp4" -vf blackdetect=d=4:pic_th=0.98:pix_th=0.15 -an -f null

স্ক্রিপ্ট বিকল্প বিভাগে সম্পাদনাযোগ্য 3 টি গুরুত্বপূর্ণ সংখ্যা রয়েছে

  • d=4 মানে 4 সেকেন্ডের চেয়ে বেশি দীর্ঘ কালো রঙের দৃশ্যগুলি সনাক্ত করা হয়েছে
  • pic_th=0.98 কোনও ছবিকে "কালো" হিসাবে বিবেচনা করার জন্য প্রান্তিক স্তর (শতাংশে)
  • pix=0.15একটি পিক্সেলকে "কালো" হিসাবে বিবেচনা করার জন্য প্রান্তিক মান নির্ধারণ করে (আলোকসজ্জাতে)। আপনার যেহেতু পুরানো ভিএইচএস ভিডিও রয়েছে তাই আপনার ভিডিওগুলিতে সম্পূর্ণ কালো দৃশ্য নেই scenes ডিফল্ট মান 10 কাজ করবে না এবং আমাকে প্রান্তিকরটি কিছুটা বাড়িয়ে দিতে হয়েছিল

যদি কিছু ভুল হয়ে যায় তবে ফোন করা সম্পর্কিত লগফাইলে চেক করুন <video_name>__ffmpeg.log। নীচের লাইনগুলি অনুপস্থিত থাকলে, আপনি সমস্ত কালো দৃশ্য সনাক্ত না করা পর্যন্ত উপরে বর্ণিত সংখ্যাগুলি বাড়িয়ে দিন:

[blackdetect @ 0286ec80]
 black_start:236.908 black_end:242.247 black_duration:5.33877



চালানোর জন্য দ্বিতীয় স্ক্রিপ্ট: কাট_ ব্ল্যাক.পিএস 1

### Options __________________________________________________________________________________________________________
$ffmpeg = ".\ffmpeg.exe"            # Set path to your ffmpeg.exe; Build Version: git-45581ed (2014-02-16)
$folder = ".\Videos\*"              # Set path to your video folder; '\*' must be appended
$filter = @("*.mov","*.mp4")        # Set which file extensions should be processed

### Main Program ______________________________________________________________________________________________________

foreach ($video in dir $folder -include $filter -exclude "*_???.*" -r){

  ### Set path to logfile
  $logfile = "$($video.FullName)_ffmpeg.log"

  ### Read in all cutpoints from *_cutpoints.csv; concat to string e.g "00:03:23.014,00:06:32.289,..."  
  $cuts = ( Import-Csv "$($video.FullName)_cutpoints.csv" | % {$_.cut} ) -join ","

  ### put together the correct new name, "%03d" is a generic number placeholder for ffmpeg
  $output = $video.directory.Fullname + "\" + $video.basename + "_%03d" + $video.extension

  ### use ffmpeg to split current video in parts according to their cut points
  & $ffmpeg -i $video -f segment -segment_times $cuts -c copy -map 0 $output 2> $logfile        
}

এটা কিভাবে কাজ করে

দ্বিতীয় স্ক্রিপ্ট সমস্ত স্ক্রিপ্ট ফাইলগুলিতে একই স্ক্রিপ্টটির পুনরাবৃত্তি করে script এটি কোনও ভিডিও সম্পর্কিত সম্পর্কিত কাট টাইমস্ট্যাম্পগুলিতে পড়ে cutpoints.txt

এর পরে, এটি অধ্যায় ফাইলগুলির জন্য উপযুক্ত ফাইলের নাম রাখে এবং ffmpeg কে ভিডিও বিভাগে জানায়। বর্তমানে ভিডিওগুলি পুনরায় এনকোডিং ছাড়াই কাটা হয়েছে (সুপারফিট এবং লসলেস)। এর কারণে, কাট পয়েন্ট টাইমস্ট্যাম্পগুলির সাথে 1-2s এর অসতর্কতা থাকতে পারে কারণ ffmpeg কেবল কী_ফ্রেমে কাটতে পারে। যেহেতু আমরা কেবল অনুলিপি করছি এবং পুনরায় এনকোড করব না, তাই আমরা কী_ফ্রেমগুলি নিজেরাই sertোকাতে পারি না।

নমুনা ভিডিওর জন্য আদেশটি হবে

$ffmpeg -i "Tape_10_3b.mp4" -f segment -segment_times "00:03:59.578,00:08:06.379" -c copy -map 0 "Tape_10_3b_(%03d).mp4"

যদি কিছু ভুল হয়ে যায় তবে সংশ্লিষ্ট ffmpeg.log দেখুন



তথ্যসূত্র



করতে

  • সিপিভি ফর্ম্যাটটি কাট পয়েন্ট ফাইল হিসাবে কোনও পাঠ্য ফাইলের চেয়ে ভাল কিনা ওপিকে জিজ্ঞাসা করুন, তাই আপনি এক্সেল দিয়ে কিছুটা সহজ সম্পাদনা করতে পারেন le
    বাস্তবায়িত
  • টাইমস্ট্যাম্পগুলি [hh] হিসাবে ফর্ম্যাট করার একটি উপায় প্রয়োগ করুন: [মিমি]: [এসএস], [মিলিসেকেন্ড] কেবলমাত্র সেকেন্ডের চেয়ে
    »বাস্তবায়িত
  • প্রতিটি অধ্যায়ে মোসাইক পিএনজি ফাইল তৈরি করতে একটি ffmpeg কমান্ড প্রয়োগ করুন le
    বাস্তবায়িত
  • ওপির -c copyদৃশ্যের জন্য যথেষ্ট কিনা বা আমাদের পুরোপুরি পুনরায় এনকোড করা দরকার বিশদ।
    মনে হচ্ছে রায়ান ইতিমধ্যে এতে রয়েছে

কি পুঙ্খানুপুঙ্খ উত্তর! আমি এটিকে সমর্থন করি! দুর্ভাগ্যক্রমে, আমি এখনই একটি ম্যাক এ আছি এবং এটি কীভাবে বাশকে অনুবাদ করতে হবে তা প্রথমে খুঁজে বের করতে হবে।
রায়ান

আমি পাওয়ারশেলের কাজ করার জন্য এটি মোটেও সক্ষম করতে পারিনি। লগ ফাইলগুলি ফাঁকা থাকে।
রায়ান

সাহায্যের জন্য আমি কী আপলোড করতে পারি তা আমি দেখতে পাব। সাথে থাকুন. আপনার আগ্রহের জন্য ধন্যবাদ!
রায়ান

আমি প্রশ্নের সাথে একটি নমুনা এমপি 4 যুক্ত করেছি। আপনার সাহায্যের জন্য ধন্যবাদ!
রায়ান

গোপনীয়তার জন্য, আমি সত্য উত্স এমওভি আপলোড করব না। আমি এটি কাটাতে এবং অডিও সরিয়ে দিতে চাই (যেমন আমি এমপি 4 এর জন্য করেছি)। সুতরাং এটি যাইহোক সত্যিকারের উত্স হবে না। তবুও এটি আপলোড করা অনেক বড় হবে। এবং দৃশ্য বিভক্তকরণের পদক্ষেপটি সম্ভবত ডিস্কের জায়গার জন্য এমওভি ফাইলের পরিবর্তে এমপি 4 ফাইলে হওয়া উচিত। ধন্যবাদ!
রায়ান

3

বোনাসটি এখানে: এই 3 য় পাওয়ারশেল স্ক্রিপ্টটি মোজাইক থাম্বনেইল চিত্র তৈরি করে

আপনি প্রতিটি অধ্যায় ভিডিওতে একটি চিত্র পাবেন যা নীচের উদাহরণের মতো দেখতে সমস্ত ছবি।

### Options __________________________________________________________________________________________________________
$ffmpeg = ".\ffmpeg.exe"       # Set path to your ffmpeg.exe; Build Version: git-45581ed (2014-02-16)
$folder = ".\Videos\*"         # Set path to your video folder; '\*' must be appended
$x = 5                         # Set how many images per x-axis
$y = 4                         # Set how many images per y-axis
$w = 384                       # Set thumbnail width in px (full image width: 384px x 5 = 1920px,)

### Main Program ______________________________________________________________________________________________________

foreach ($video in dir $folder -include "*_???.mp4" -r){

  ### get video length in frames, an ingenious method
  $log = & $ffmpeg -i $video -vcodec copy -an -f null $video 2>&1   
  $frames = $log | Select-String '(?<=frame=.*)\S+(?=.*fps=)' | % { $_.Matches } | % { $_.Value }  
  $frame = [Math]::floor($frames / ($x * $y))

  ### put together the correct new picture name
  $output = $video.directory.Fullname + "\" + $video.basename + ".jpg"

  ### use ffmpeg to create one mosaic png per video file
  ### Basic explanation for -vf options:  http://trac.ffmpeg.org/wiki/FilteringGuide
#1  & $ffmpeg -y -i $video -vf "select=not(mod(n\,`"$frame`")),scale=`"$w`":-1,tile=`"$x`"x`"$y`"" -frames:v 1 $output
#2  & $ffmpeg -y -i $video -vf "yadif,select=not(mod(n\,`"$frame`")),scale=`"$w`":-1,tile=`"$x`"x`"$y`"" -frames:v 1 $output 
    & $ffmpeg -y -i $video -vf "mpdecimate,yadif,select=not(mod(n\,`"$frame`")),scale=`"$w`":-1,tile=`"$x`"x`"$y`"" -frames:v 1 $output       

#4  & $ffmpeg -y -i $video -vf "select='gt(scene\,0.06)',scale=`"$w`":-1,tile=`"$x`"x`"$y`"" -frames:v 1 -vsync vfr $output  
#5  & $ffmpeg -y -i $video -vf "yadif,select='gt(scene\,0.06)',scale=`"$w`":-1,tile=`"$x`"x`"$y`"" -frames:v 1 -vsync vfr $output  
#6  & $ffmpeg -y -i $video -vf "mpdecimate,yadif,select='gt(scene\,0.06)',scale=`"$w`":-1,tile=`"$x`"x`"$y`"" -frames:v 1 -vsync vfr $output  

#7  & $ffmpeg -y -i $video -vf "thumbnail,scale=`"$w`":-1,tile=`"$x`"x`"$y`"" -frames:v 1 $output
#8  & $ffmpeg -y -i $video -vf "yadif,thumbnail,scale=`"$w`":-1,tile=`"$x`"x`"$y`"" -frames:v 1 $output
#9  & $ffmpeg -y -i $video -vf "mpdecimate,yadif,thumbnail,scale=`"$w`":-1,tile=`"$x`"x`"$y`"" -frames:v 1 $output
}

মূল ধারণাটি হ'ল সম্পূর্ণ ভিডিওর উপরে চিত্রের অবিচ্ছিন্ন স্ট্রিম। আমরা ffmpeg এর সিলেক্ট অপশন দিয়ে এটি করি।

প্রথমত, আমরা মোটামুটি ফ্রেম গণনা একটি উদ্ভাবনী পদ্ধতিতে (যেমন 2000) পুনরুদ্ধার করি এবং এটি আমাদের ডিফল্ট থাম্বনেইল গণনা (যেমন 5 x 4 = 20) এর মাধ্যমে ভাগ করি। সুতরাং আমরা প্রতি 100 ফ্রেম থেকে একটি চিত্র তৈরি করতে চাই2000 / 20 = 100

থাম্বনেইল তৈরি করতে ফলস্বরূপ ffmpeg কমান্ডটি দেখতে পেল

ffmpeg -y -i input.mp4 -vf "mpdecimate,yadif,select=not(mod(n\,100)),scale=384:-1,tile=5x4" -frames:v 1 output.png

উপরের কোড, আপনি দেখতে 9 বিভিন্ন -vfসমন্বয় গঠিত

  • select=not(mod(n\,XXX)) যেখানে XXX একটি গণিত ফ্রেমরেট rate
  • thumbnail যা স্বয়ংক্রিয়ভাবে সর্বাধিক প্রতিনিধি ফ্রেম নির্বাচন করে
  • select='gt(scene\,XXX)+ -vsync vfrযেখানে XXX আপনার সাথে খেলতে হবে একটি প্রান্তিক
  • mpdecimate- কাছাকাছি নকল ফ্রেম সরান। কালো দৃশ্যের বিরুদ্ধে ভাল
  • yadif- ইনপুট চিত্রটি নির্ধারণ করুন। কেন জানি না, তবে এটি কাজ করে

সংস্করণ 3 আমার মতে সেরা পছন্দ। অন্য সমস্ত মন্তব্য করা হয়েছে, কিন্তু আপনি এখনও তাদের চেষ্টা করতে পারেন। আমি ব্যবহার ঝাপসা থাম্বনেল অধিকাংশ অপসারণ করতে সক্ষম হন mpdecimate, yadifএবং select=not(mod(n\,XXX))। হ্যাঁ!

আপনার নমুনা ভিডিওর জন্য আমি এই পূর্বরূপগুলি পাই

এখানে চিত্র বর্ণনা লিখুন
সম্প্রসারিত করতে ক্লিক করুন

এখানে চিত্র বর্ণনা লিখুন
সম্প্রসারিত করতে ক্লিক করুন

আমি সেই সংস্করণগুলি দ্বারা নির্মিত সমস্ত থাম্বনেইল আপলোড করেছি । একটি সম্পূর্ণ তুলনা জন্য তাদের তাকান।


খুব ঠান্ডা! আমি এই একবার দেখুন। আমিও আজ select='gt(scene\,0.4)'কাজটি করার চেষ্টা করে ঘন্টাগুলি নষ্ট করেছি । আর আমিও কাজ করতে পারিনি fps="fps=1/600"। যাইহোক, আপনার সম্পর্কে সুপারসার / প্রশ্ন / 725734 সম্পর্কে কোনও ধারণা আছে ? আপনার সমস্ত সহায়তার জন্য অনেক ধন্যবাদ। আমি আমার পরিবারকে প্রচুর পুরনো স্মৃতি আবিষ্কার করতে সাহায্য করতে পেরে অত্যন্ত উত্তেজিত
রায়ান 1

আপনি নীচে তালিকাভুক্ত those অন্যান্য অন্যান্য এনকোড রূপগুলি ব্যবহার করে দেখেছেন ? আমি "দৃশ্যের" বিকল্পের জন্য একটি কাজের উদাহরণ যুক্ত করেছি। এফপিএস ফিল্টারটি ভুলে যান। আমি বেশিরভাগ অস্পষ্ট থাম্বস অপসারণ করতে সক্ষম হয়েছি :)
নিক্সদা

0

উভয় স্ক্রিপ্টের প্রশংসা করুন, ভিডিওগুলি বিভক্ত করার দুর্দান্ত উপায়।

তবুও, ভিডিওগুলি পরে সঠিক সময় না দেখায় আমার কিছু সমস্যা হয়েছিল এবং আমি একটি নির্দিষ্ট সময়টিতে ঝাঁপিয়ে উঠতে পারিনি। এর একটি সমাধান হ'ল এমপিপিবক্স ব্যবহার করে স্ট্রিমগুলি ম্যাক্স করা এবং তারপরে ম্যাক্স করা।

আর একটি, আমার পক্ষে সহজ উপায় হ'ল বিভাজনের জন্য এমকেভ্র্যাম ব্যবহার করা। সুতরাং, উভয় স্ক্রিপ্ট পরিবর্তন করতে হয়েছিল। সনাক্তকারী_ব্ল্যাক.পিএস 1 এর জন্য, কেবলমাত্র "* .mkv" ফিল্টার বিকল্পে যুক্ত করতে হয়েছিল, তবে এটি কেবলমাত্র এমপি 4 ফাইল দিয়ে শুরু করলে প্রয়োজনীয় নয়।

### Options        
$mkvmerge = ".\mkvmerge.exe"        # Set path to mkvmerge.exe
$folder = ".\*"                     # Set path to your video folder; '\*' must be appended
$filter = @("*.mov", "*.mp4", "*.mkv")        # Set which file extensions should be processed

### Main Program 
foreach ($video in dir $folder -include $filter -exclude "*_???.*" -r){

  ### Set path to logfile
  $logfile = "$($video.FullName)_ffmpeg.log"

  ### Read in all cutpoints from *_cutpoints.csv; concat to string e.g "00:03:23.014,00:06:32.289,..."  
  $cuts = ( Import-Csv "$($video.FullName)_cutpoints.csv" | % {$_.cut} ) -join ","

  ### put together the correct new name, "%03d" is a generic number placeholder for mkvmerge
  $output = $video.directory.Fullname + "\" + $video.basename + "-%03d" + ".mkv"

  ### use mkvmerge to split current video in parts according to their cut points and convert to mkv
  & $mkvmerge -o $output --split timecodes:$cuts $video
}

ফাংশনটি একই, তবে এখনও পর্যন্ত ভিডিও সময় নিয়ে কোনও সমস্যা নেই। অনুপ্রেরণার জন্য ধন্যবাদ।


-2

আমি আশা করি আমি ভুল, কিন্তু আপনার জিজ্ঞাসা কী সম্ভব তা আমি ভাবি না। ভিডিওটি পুনরায় এনকোড করার সময় এটি সম্ভব হতে পারে তবে "সাধারণ লসলেস স্লাইস" হিসাবে আমি কোনও উপায় জানি না।

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

শুভকামনা!


এটা একেবারে সম্ভব। আপনি (সঙ্গে যেমন সমস্যা ছাড়াই একটি অবচয়হীন ভাবে ভিডিও ভাগ করতে পারেন ffmpeg মধ্যে সেগমেন্ট muxer , এছাড়াও দেখুন ভিডিও কাটিং উপর ffmpeg উইকি )। যে কোনও শালীন ভিডিও সম্পাদনা প্রোগ্রাম এটি করতে সক্ষম হওয়া উচিত। একমাত্র ইস্যুতে দৃশ্য পরিবর্তনগুলি সনাক্ত করা।
9:30 এ স্ল্যাক করুন ck

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