কোনও ভিডিও (এমপি 4) শেলটি কতক্ষণ ব্যবহার করছে তা কীভাবে পরীক্ষা করবেন?


16

শেলটি ব্যবহার করে আমার দৈর্ঘ্য> 4 মিনিটের মধ্যে সমস্ত এমপি 4 ফাইল আপলোড করতে হবে। কোনও ভিডিও কত দিন তা যাচাই করার জন্য আমি কোনও স্ক্রিপ্ট পাচ্ছি না। এটি করার জন্য কারও কি ধারণা আছে?

আপনাকে অনেক ধন্যবাদ!


1
এই দেখতে stackoverflow.com/questions/3844430/... :-) আশা করি এই সাহায্য করে
harish.venkat

উত্তর:


23

এটি আপনাকে একটি ভিডিওর দৈর্ঘ্য দেবে।

ffmpeg -i myvideo 2>&1 | grep Duration | cut -d ' ' -f 4 | sed s/,//

দূরবর্তী ভিডিও url এর জন্যও কাজ করে যেমন ffmpeg -i " ইনস্টাগ্রাম.ফিউআর 1-1.fna.fbcdn.net/t50.2886-16/… " 2> & 1 | গ্রেপ সময়কাল | কাট-ডি '' -ফ 4 |
সেড

FFmpeg লগ বার্তা ফর্ম্যাট গ্যারান্টিযুক্ত? যদি তা না হয় তবে আমি এটি পছন্দ করি না - এটি কোনও মুক্তি নিয়ে কাজ বন্ধ করতে পারে।
ওন্দ্র Žižka

7

মেডিইনফো এই উদ্দেশ্যে একটি দ্রুত সরঞ্জাম:

$ mediainfo --Inform="Video;%Duration%"  [inputfile]

আপনি আরও পুঙ্খানুপুঙ্খ উত্তরে আরও বিকল্পগুলি পেতে পারেন ।

আমার পরীক্ষাগুলিতে, ffprobe0.3 সেকেন্ড mediainfoসময় নেয় এবং 0.09 সেকেন্ড সময় নেয়।


এটি অদ্ভুত ফলাফল দেয় ... যেমন 2679600 ... ব্যবহার করা আরও ভাল mediainfo --Inform="Video;%Duration/String%" [inputfile]... যা আপনাকে 43 মিনিট 50 এর
রবার্ট রিডেল

5

আপনি avconv কমান্ড ব্যবহার করার চেষ্টা করতে পারেন ..

প্রথমে আপনার ইনস্টল করা উচিত:

সফ্টওয়্যার কেন্দ্রের মাধ্যমে ইনস্টল করুন

আপনি যদি পতাকাটি -i দিয়ে কমান্ডটি টাইপ করেন তবে আপনি ভিডিও সম্পর্কে তথ্য পাবেন:

avconv -i test.mp4

আউটপুটে একটি ক্ষেত্র রয়েছে যা ডিউরেশন বলে

avconv version 0.8.4-4:0.8.4-0ubuntu0.12.04.1, Copyright (c) 2000-2012 the Libav developers
  built on Nov  6 2012 16:51:33 with gcc 4.6.3
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'test.mp4':

  Duration: 00:58:28.05, start: 0.000000, bitrate: 888 kb/s
    Stream #0.0(eng): Video: h264 (High), yuv420p, 720x404, 748 kb/s, 25 fps, 25 tbr, 20k tbn, 50 tbc
    Stream #0.1(und): Audio: aac, 48000 Hz, stereo, s16, 127 kb/s

এখন আপনি কেবলমাত্র ক্ষেত্রের সময়কালের মান পেতে কমান্ডটি ব্যবহার করতে পারেন

টাইপ করুন:

avconv -i file.mp4 2>&1 | grep 'Duration' | awk '{print $2}' | sed s/,//

আমার ক্ষেত্রে ফলাফল:

00:58:28.05

58 মিনিট এবং 28.05 সেকেন্ড।

আশা করি এটি সহায়ক হবে!


1
এটি এর সাথেও ব্যবহার করা যেতে পারে avprobe- এর প্রয়োজন নেই -iতবে এটি অন্যথায় ঠিক একইভাবে কাজ করে। অথবা ffprobe@ প্রতি উত্তরের জন্য।
18:55

4

exiftool(মূলত ইমেজ ফাইলগুলি থেকে ক্যামেরা মেটাডেটা পড়ার উদ্দেশ্যে, তবে পরে প্রায় কোনও ধরণের মিডিয়া ফাইল থেকে মেটাডেটা পড়তে এবং লিখতে প্রসারিত ) এর জন্য এটি ব্যবহার করা খুব সুবিধাজনক। এটি দিয়ে চালান:

exiftool FILE.mp4 | grep Duration

আপনাকে সম্ভবত exiftoolপ্রথমে ইনস্টল করতে হবে , তবে এটি সহজেই নিম্নলিখিত কমান্ডের সাহায্যে (ডেবিয়ান এবং ডাবেরভেটিভ যেমন উবুন্টু ইত্যাদিতে) সম্পন্ন হয়েছে:

apt install libimage-exiftool-perl

অবশ্যই, এই উত্তরটি অন্য একটি বিকল্প। অন্যান্য উত্তর অনেক ভাল হয়। :)


2

এমনকি সহজ:

avprobe file.mp4 -show_format_entry duration

আমি বর্তমানে "অপশন 'শো_ফর্ম্যাট_েন্ট্রি' বার্তাটি অবহেলিত পেয়েছি, পরিবর্তে '-show_entries ফর্ম্যাট = সময়কাল' ব্যবহার করুন"
ফাহিম মিঠা

1

যোগ করা হচ্ছে pers সমাধান , এই একটি সম্পূর্ণ ডিরেক্টরি ব্যবহার করা যেতে পারে:

for f in *; do ffmpeg -i "$f" 2>&1 | grep Duration | cut -d " " -f 4 | sed s/,//  | tr -d "\n" && echo " $f"; done

এমনকি | sortদৈর্ঘ্য অনুসারে ফাইলগুলি বাছাই করে এটি বাড়ানো যেতে পারে ।

আপনি এটিতে যুক্ত করতে পারেন .bashrcবা কোনও ডিরেক্টরিতে .bash_aliasesসক্ষম হতে পারেন lsvlength | sort

alias lsvlength='for f in *; do ffmpeg -i "$f" 2>&1 | grep Duration | cut -d " " -f 4 | sed s/,//  | tr -d "\n" && echo " $f"; done'

1

ffprobeffmpegআউটপুট পাথটি দেওয়া না হলে এটির থেকে আরও দুর্দান্ত সমাধান যা ত্রুটি ছুঁড়ে।

ffprobe video.mp4 2>&1 | grep -E '^ +Duration' | cut -d':' -f2- | cut -d, -f1

0

আপনি যদি কোনও ডিরেক্টরিতে কিছু ভিডিওর সময়কাল দেখতে চান তবে নিম্নলিখিত কমান্ডটি ব্যবহার করতে পারেন

exiftool * | গ্রেপ ^ সময়কাল | কাট-ডি '' -ফ 26


1
ব্যবহার করার দরকার নেই grepএবং এই জাতীয়। সহজভাবে exiftool -T -Duration *.mkv(বা যে কোনও ফাইলের প্যাটার্ন)
পার্লডাক

0

আপনি দেখতে পাচ্ছেন এটি সম্পন্ন করার জন্য অনেকগুলি উপায় রয়েছে। ffprobe mediafile -show_entries format=format=duration 2>&1 | grep DURATIONযেখানে মিডিয়াফাইল ফাইলটির নাম, নীচের মতো আউটপুট সরবরাহ করবে। প্রথমটি প্রথম প্রবাহের সময়কাল (সাধারণত ভিডিও) এবং দ্বিতীয়টি দ্বিতীয় প্রবাহের সময়কাল সরবরাহ করে (সাধারণত অডিও)

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