এমপি 4 / এইচ .264 ফাইল সম্পর্কে নির্দিষ্ট তথ্য পেতে ffprobe কীভাবে ব্যবহার করবেন


13

আমি হ'ল একজন নিম্ন পিএইচপি বিকাশকারী, যা কয়েক হাজার ভিডিও ফাইলের 100 টি সম্পর্কে কিছু প্রাথমিক তথ্য পুনরুদ্ধার করার দায়িত্ব দেওয়া হয়েছিল। আমি আহরণের ffmpeg ব্যবহার করে কিছু ভাগ্য ছিল করেছি video bitrate, video width, video height, duration, এবং aspect ratioতাদের কাছ থেকে, কিন্তু 5% এর একটি ত্রুটি অনুপাত সঙ্গে, এই এখনও আমাকে ফাইলের যে আমি সঙ্গে মোকাবিলা করার জন্য কিভাবে জানি না একটি বিরাট সংখ্যা সঙ্গে ছেড়ে। ভিডিওগুলি খেলতে পারে, তবে ffmpeg যে প্রচুর পরিমাণে ডেটা দেয় তা আমাকে বিভ্রান্ত করে তুলেছিল যে আমি যে সমস্ত শর্তগুলির মুখোমুখি হচ্ছি তার সাথে আমার কী প্রয়োজন তা খুঁজে পেতে কীভাবে ফিরে আসা এক্সএমএলকে পার্স করতে পারি। (ফাইলগুলি গত 15 বছর বা তার থেকে কালেকশন, কিছু নতুন এনকোড করা হয়েছে, অন্যরা বছর আগে রূপান্তরিত হয়েছে)

যে কোনও হারে, আমি ffprobeসময়কাল পেতে নিম্নলিখিত ব্যবহারের সন্ধান পেয়েছি এবং আমি আশা করছিলাম যে এখানে যে কেউ ffmpeg এবং ffprobe ব্যবহারের জটিলতাগুলি বুঝতে পারে তার চেয়ে আরও সহজ পদ্ধতিতে আমার প্রয়োজন অন্যান্য মানগুলি সন্ধানের ক্ষেত্রে আমাকে যথেষ্ট সহায়তা করবে ক্রেজি কোড আমি ffmpeg এর সম্পূর্ণ ফলাফলের মধ্যে আরোহণের জন্য নিজেকে তৈরি করছি।

ffprobe -i "video.mp4" -show_entries format=duration -v quiet -of csv="p=0"

অগ্রিম অনেক ধন্যবাদ।

ব্যাখ্যা:

আমার নীচের সিএমডি দিয়ে এটি যুক্ত করা উচিত, আমার যা প্রয়োজন তা আমি "দেখতে" দেখতে পেলাম তবে কীভাবে আমার প্রয়োজন তা কীভাবে বের করতে হবে তা আমি বুঝতে পারি না, উদাহরণস্বরূপ ভিডিও বিটরেট পুনরুদ্ধার করা এবং অডিও বিটরেটকে দমন / উপেক্ষা করা, বা কোনটি 2 নির্ধারণ করা উচিত বিভিন্ন সময়কাল ব্যবহারের জন্য (অডিও / ভিডিও সময়সীমা?)

C:\>ffprobe -v error -show_entries stream=width,height,bit_rate,duration -of default=noprint_wrappers=1 input.mp4

duration=1712.000000
bit_rate=64000
width=320
height=240
duration=1711.946113
bit_rate=359827
duration=1712.000000
bit_rate=N/A
duration=1712.000000
bit_rate=N/A

উত্তর:


18

আপনি যদি কেবল প্রথম ভিডিও স্ট্রিমের তথ্যটি ব্যবহার করতে চান তবে -select_streams v:0:

ffprobe -v error -select_streams v:0 -show_entries stream=width,height,duration,bit_rate -of default=noprint_wrappers=1 input.mp4

উদাহরণ আউটপুট:

width=640
height=480
duration=10.000000
bit_rate=942704

সহায়তার জন্য অনেক ধন্যবাদ .... আমাকে অন্য উত্তরটি কেবল তখনই গ্রহণ করতে হয়েছিল কারণ আমাকে আগে এটি সম্পর্কে সতর্ক করা হয়েছিল, এবং এটি কৌশলটি করেছিল ..
জিডিপি

@ জিডিপি দয়া করে বিবেচনা করুন: এক্ষেত্রে প্রথমে অবহিত, কারণ এটি সর্বশেষতম উত্তর।
p2or

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

9

Https://trac.ffmpeg.org/wiki/FFprobeTips থেকে

আপনি যদি ১ ম ভিডিও স্ট্রিমের বিট_রেট পেতে চান তবে আপনি ব্যবহার করতে পারেন:

ffprobe -v error -select_streams v:0 -show_entries stream=bit_rate -of default=noprint_wrappers=1:nokey=1 input.mp4

যেখানে -select_steams v:01 ম ভিডিও স্ট্রিমটি নির্বাচন করা হচ্ছে এবং :nokey=1কী ছাড়াই মান দেয়। আপনি এটিকে গ্রেপ-তে পাইপ করেও তথ্যটি বের করতে পারবেন তবে আমি নিশ্চিত নই যে এটি আপনার সিস্টেমে পাওয়া যায় কিনা।

ffprobe -v error -show_entries stream=width,height,bit_rate,duration -of default=noprint_wrappers=1 input.mp4 | grep -oP "(?<=bit_rate\=)[0-9]+"

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


"গ্রেপ এটিকে পাইপ করা হচ্ছে" ... এমন কিছুর মতো মনে হচ্ছে আমি কিশোর হিসাবে কিছুটা করতে পেরেছি, হুম ... সহায়তার জন্য ধন্যবাদ!
জিডিপি

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