স্লাইডশো ভিডিওতে ffmpeg concat ব্যবহার করে


2

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

ffmpeg সংস্করণ 1.2.6-7 kubuntu 14।

হেডার

ffmpeg -framerate 16 -f image2 -i './Header/Sun_20150214_head_%02d.png' -vf "crop=1240:940:40:10" -vf drawtext="fontsize=100:fontcolor=yellow:fontfile=/usr/share/fonts/truetype/freefont/FreeSans.ttf:textfile=./scripts/header_text.txt:x=(w-text_w)/2:y=(h-text_h-line_h)/2" -c:v libx264 -pix_fmt yuv420p -crf 16 -y ./Video/sunspot_20150214_header.mp4

ffmpeg -i ./Video/sunspot_20150214_header.mp4 -vf fade=in:0:30 -crf 24 -y ./Video/sunspot_20150214_header_fade.mp4

তার নিজের উপর হেডার জরিমানা খেলে এবং একটি চমৎকার বিবর্ণ হয়েছে।

এখন সময়সীমার জন্য:

ffmpeg -r 12 -threads 0 -f image2 -pattern_type glob -i './npy2reg/Sun_20150214_*.png'  -c:v libx264 -crf 16 -vf "crop=1240:940:40:10" -y ./Video/sunspot_20150214_crf16_12fps.mp4

নিজের সময় সময় শেষ ভাল নাটক।

ইনপুট ফাইল উভয় পয়েন্টার সঙ্গে একটি concat.txt ফাইল ব্যবহার করে concat চেষ্টা। concat.txt ফাইল:

file '/home/gottsch/sunspot_20150214/Video/sunspot_20150214_header_fade.mp4'
file '/home/gottsch/sunspot_20150214/Video/sunspot_20150214_crf16_12fps.mp4'

Ffmpeg জন্য কমান্ড:

ffmpeg -f concat -i ./scripts/concat.txt -c copy -y  ./Video/sunspot_20150214_crf16_12fps_final.mp4

এই আমার আউটপুট ফাইল দেয় sunspot_20150214_crf16_12fps_final.mp4। সমস্যা: আউটপুট ফাইল শুধুমাত্র শিরোনাম দেখায়।

আমি পড়লাম যে ffmpeg কনক্যাট ইঞ্জিনের ইনপুট ভিডিওগুলি একই ফর্ম্যাট হতে হবে যা আমি বিশ্বাস করি যখন ffmpeg তাদের উভয় তৈরি করে।

আপনার সাহায্য প্রশংসা করা হয়।

ধন্যবাদ, গার্টি

হালনাগাদ:

আমি নিম্নলিখিত cmd কনসোল আউটপুট প্রদান করতে বলা হয়েছিল:

gottsch@ubuntu:~/sunspot_20150214$ ffmpeg -i './Header/Sun_20150214_head_%02d.png' -pattern_type glob -i './npy2reg/Sun_20150214_*.png'
ffmpeg version 1.2.6-7:1.2.6-1~trusty1 Copyright (c) 2000-2014 the FFmpeg developers
  built on Apr 26 2014 18:52:58 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
  configuration: --arch=amd64 --disable-stripping --enable-avresample --enable-pthreads --enable-runtime-cpudetect --extra-version='7:1.2.6-1~trusty1' --libdir=/usr/lib/x86_64-linux-gnu --prefix=/usr --enable-bzlib --enable-libdc1394 --enable-libfreetype --enable-frei0r --enable-gnutls --enable-libgsm --enable-libmp3lame --enable-librtmp --enable-libopencv --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-vaapi --enable-vdpau --enable-libvorbis --enable-libvpx --enable-zlib --enable-gpl --enable-postproc --enable-libcdio --enable-x11grab --enable-libx264 --shlibdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-static
  libavutil      52. 18.100 / 52. 18.100
  libavcodec     54. 92.100 / 54. 92.100
  libavformat    54. 63.104 / 54. 63.104
  libavdevice    53.  5.103 / 53.  5.103
  libavfilter     3. 42.103 /  3. 42.103
  libswscale      2.  2.100 /  2.  2.100
  libswresample   0. 17.102 /  0. 17.102
  libpostproc    52.  2.100 / 52.  2.100
Input #0, image2, from './Header/Sun_20150214_head_%02d.png':
  Duration: 00:00:02.36, start: 0.000000, bitrate: N/A
Stream #0:0: Video: png, rgb24, 1280x960, 25 fps, 25 tbr, 25 tbn, 25 tbc
Input #1, image2, from './npy2reg/Sun_20150214_*.png':
  Duration: 00:00:01.76, start: 0.000000, bitrate: N/A
Stream #1:0: Video: png, rgb24, 1280x960, 25 fps, 25 tbr, 25 tbn, 25 tbc
At least one output file must be specified
gottsch@ubuntu:~/sunspot_20150214$ 

এটি একটি cmd উভয় অংশ প্রক্রিয়া ঠিক আছে বলে মনে হচ্ছে। আমার চিত্র প্রক্রিয়াকরণ স্ক্রিপ্ট গাণিতিক বিন্যাসে ফাইলগুলি তৈরি করে, তাই দ্বিতীয় অংশটি% নোটেশন সহ গ্লব ছাড়া লেখা যেতে পারে।

ffmpeg -i './Header/Sun_20150214_head_%02d.png' -i './npy2reg/Sun_20150214_%02d.png'

অনুপস্থিত আউটপুট ফাইল সম্পর্কে cmd লাইন ত্রুটি কোন সমস্যা নেই। আমার উদ্বেগ আমি অন্তর্ভুক্ত করার পরিকল্পনা ছিল ফিল্টার সিরিজ। (ফেইড, টেক্সট, ফসল)। সঠিক sequencing এবং ফিল্টারের অগ্রাধিকার নিয়ন্ত্রণ উপর একটি টিউটোরিয়াল আছে?

আমি তৈরি MPEG এর সর্বাধিক সম্ভাব্য সামঞ্জস্যের বিষয়েও উদ্বেগ রাখি যাতে ডিভাইস / ওএস / ব্রাউজারগুলির বেশিরভাগ সমন্বয় এটি প্রক্রিয়া করতে পারে।

আমার আগের প্রচেষ্টায় আমি প্রতিক্রিয়া পেয়েছি যে এটি একটি হারিয়ে যাওয়া প্লাগইন ত্রুটির সাথে Mac OS ব্রাউজারে ব্যর্থ হয়।

ধন্যবাদ, গার্টি

UPDATE2

নিম্নলিখিত লাইন প্রতিটি শিরোনাম একটি ভিডিও, শুধুমাত্র উত্পাদন। সময় ভঙ্গ থেকে কোন ফ্রেম দেখানো হয়।

ffmpeg -i './Header/Sun_20150214_head_%02d.png' -i './npy2reg/Sun_20150214_%02d.png' -codec:v libx264 -pix_fmt yuv420p -crf 16 -y ./Video/sunspot_20150214_crf16_12fps_test.mp4

ffmpeg -i './Header/Sun_20150214_head_%02d.png' -pattern_type glob -i './npy2reg/Sun_20150214_*.png' -codec:v libx264 -pix_fmt yuv420p -crf 16 -y ./Video/sunspot_20150214_crf16_12fps_test.mp4

সেরা গার্টি


কেন এক কমান্ড এ সব না এবং অতএব concat ব্যবহার করে এড়াতে? আপনি আপনার কনসোল আউটপুট সরবরাহ করেননি তাই আমি আপনাকে সঠিক উত্তর দিতে পারছি না।
llogan

@ লর্ড এনকবিয়ার্ডঃ আপনার পরামর্শটি ভাল। Ffmpeg আমার ক্ষমতা খুব যে ধারণা চালানো সীমাবদ্ধ। আমি আপনাকে আমার ইনপুট ডেটা এবং পছন্দসই ফলাফলের একটি বর্ণনা দিতে পারি এবং এটি অর্জনে ব্যাপকভাবে কৃতজ্ঞতা প্রকাশ করব। আমার কাছে আছে 50 পিএনজি ফাইল একটি সময় ভূল আপ। আমি নিম্নলিখিত বৈশিষ্ট্য সঙ্গে একটি ভিডিও তৈরি করতে চাই। বর্ণনামূলক শিরোনাম সহ কালো থেকে একটি এখনও চিত্র (ক্রম থেকে প্রথম চিত্র) থেকে একটি বিবর্ণ। তারপর 50png ফাইলের মাধ্যমে timelapse শুরু। শেষ. আমি ডিভাইস এবং ব্রাউজারগুলির বেশিরভাগ সংমিশ্রণ দ্বারা পাঠযোগ্য হতে লক্ষ্য সহ একটি ওয়েব পৃষ্ঠায় এম্বেড করতে চাই। Thx Gert।
Gert Gottschalk

সম্পূর্ণ কনসোল আউটপুট প্রদর্শন করুন: ffmpeg -i './Header/Sun_20150214_head_%02d.png' -pattern_type glob -i './npy2reg/Sun_20150214_*.png'
llogan

আপনি শুধু linux বিড়াল কমান্ড ব্যবহার করে চেষ্টা করেছেন? এটি একবার আমার জন্য কাজ করেছে, যদিও এটি 2 এমপি 4 ফাইলের সাথে ছিল না ...
jiggunjer

উত্তর:


1

আমি আপনার ভিডিও দেখতে কি থেকে বিভিন্ন framerates, 16fps এবং 12fps আছে। ভিডিও concatenating এবং concat ব্যবহার করে ডিমাক্সার , একযোগে ভিডিওতে আলাদা হতে পারে এমন একমাত্র জিনিস বিট্রেট হতে পারে, অন্য সবকিছু, রেজোলিউশন, fps, codec, রঙ বিন্যাস ... সমান হতে হবে।

দেখুন FFmpeg উইকি কনস্যাটেনেশন বিভাগ

সম্ভাব্য সমাধান

  • আপনার ভিডিওগুলির সমস্ত সম্ভাব্য প্যারামিটার সমান (FPS, আকার, ...)
  • GUI ভিডিও এডিটর মত আপনার ভিডিও রচনা করুন kdenlive
  • FFMEGg বরং fades এবং গ্রন্থে মত কাজ সম্পাদনের জন্য সীমাবদ্ধ। আপনি যদি সত্যিই প্রোগ্রামগুলি তৈরি / রচনা করতে চান তবে ব্যক্তিগতভাবে আমি ফ্রেমসার্ভার ব্যবহার করব avisynth , যা আপনি তার মাধ্যমে প্রয়োজন কি সব উপলব্ধ করা হয় অভ্যন্তরীণ ফিল্টার ( ImageSource, FadeIn, Subtitle, ...)। যাইহোক, এটি শুধুমাত্র উইন্ডোজ জন্য উপলব্ধ। এটি একটি লিনাক্স পোর্ট বলা হয় avxsynth যদিও আমি কখনো চেষ্টা করিনি। একটি ফ্রেম সার্ভার ব্যবহার শেষ পূর্বরূপ সম্ভাবনা উপলব্ধ করা হয় আপনার পছন্দের একটি মিডিয়া প্লেয়ারের ফলাফল, সুপার সহজ পরিবর্তন পরামিতি এবং এক যেতে শেষ ফলাফল এনকোডিং।
  • Ffmpegs concat ব্যবহার করুন ছাঁকনি : https://trac.ffmpeg.org/wiki/Concatenate#differentcodec । আমি যে এক সঙ্গে মিশ্র সাফল্য করেছি।

উদাহরণ avisynth স্ক্রিপ্ট

আমি সহজ avisynth স্ক্রিপ্ট তৈরি sunspot.avs যা আপনার জন্য একটি প্রারম্ভিক বিন্দু হতে পারে। আমি উইন্ডোজ এ এই চেষ্টা, কিন্তু তত্ত্ব, এটা avxsynth সঙ্গে ভাল কাজ করা উচিত ...

# Set the desired parameters for the output video
out_fps = 25
out_width = 800
out_height = 600

# Make a title clip
blank = BlankClip(length=out_fps * 3, width=out_width, height=out_height, fps=out_fps, color=$000000).KillAudio()
blank_subtitle = blank.Subtitle("Your Title", align=5, size=60, text_color=$ffff00)

# Load image sequence, assume 16 input fps 16, convert to output video's 25fps
# NOTE: since the input frame rates differs from the output frame rate, there will be interpolation going on... 
sunspot = ImageReader("Sun_20150214_%02d.png", 1, 62, 16).ChangeFPS(out_fps).ConvertToRGB32()
# Crop & Resize, pay attention not to distort the images to the ratios
sunspot_cropped = sunspot.Crop(8,2,-9,-4).LanczosResize(out_width, out_height)

# Concatenate the clips (which now have the same fps + format + color space)
blank_subtitle.FadeIn(out_fps * 1) ++ sunspot_cropped

আপনি সঙ্গে ফলাফল প্রাকদর্শন করতে পারেন ffplay sunspot.avs এবং যদি সন্তুষ্ট হন, এটি একটি এমপি 4 ফাইল রূপান্তর করুন, যেমন .:

ffmpeg -i sunspot.avs -c:v libx264 -crf 19 -preset:v slower -pix_fmt yuv420p -c:a libfdk_aac sunspot.mp4

@phobos। সমস্যা দেখার জন্য আপনাকে ধন্যবাদ। যেমনটি আমি ইন্ডিভ থেকে ফ্রেম রেটের নিয়ন্ত্রণে থাকি (হেডার এবং সময় ভঙ্গ) উভয়ই তৈরি করি। আমি উভয় জন্য ফ্রেম হার একই সেট করতে এবং আবার চেষ্টা করতে পারেন। পাশাপাশি একটি প্রশ্ন হিসাবে আমি জানতে চাই যে শিরোনাম কীভাবে 1 টি থেকে এখনও তৈরি করা যায়। আমি একটি নতুন থ্রেড পোস্ট করা হবে।
Gert Gottschalk
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.