X11grab এর সাথে দুটি অডিও উত্সকে মার্জ করবেন, সম্ভব?


11

বর্তমানে আমি নীচের সেটআপটি নিয়ে চলছে।

ffmpeg \
 -i http://pub1.di.fm:80/di_vocaltrance \
 -f x11grab -s 1920x1080 -r 25 -i :0.0 \
 -c:v libx264 -preset fast -pix_fmt yuv420p -s 1280x800 \
 -c:a libmp3lame -ab 96k -ar 22050 \
 -threads 0 \
 -f flv "rtmp://...."

আমি কী বেক করতে চাই:

 -f alsa -ac 2 -i hw:0 -acodec pcm_s32le -aq 1 -ab 128k\

এটা কি সম্ভব? এবং সম্ভবত "আমি যা শুনি" (ওরফে প্লেব্যাক) এর সাথে কথা বলতে মিশ্রিত করব?

আমি কিছু লাইন ধরে চেষ্টা করেছি (তবে পুরোপুরি বুঝতে-ম্যাপ করতে পারছি না)

 -i http://pub1.di.fm:80/di_vocaltrance -map 0:1 \
 -f x11grab -s 1920x1080 -r 25 -i :0.0 -map 0:0 \

কিন্তু এটি আসলে এত ভাল হয়নি didn't

আমি এখন খুব কাছাকাছি এসেছি, এটি আমাকে সাউন্ড চ্যানেলগুলি দেয়, তবে সমস্ত কিছু মনে হয় আমি একটি ছোট টিনের ক্যানের ভিতরে।

#!/bin/bash
KEY=`cat key.db`

ffmpeg \
 -i http://pub1.di.fm:80/di_vocaltrance \
 -f alsa -ac 2 -i hw:0 -acodec mp3 -aq 1 -ab 128k \
 -f x11grab -s 1920x1080 -r 25 -i :0.0 \
 -c:v libx264 -preset fast -pix_fmt yuv420p -s 1280x800 \
 -c:a mp3 -ab 96k -ar 22050 \
 -threads 0 \
 -map 0:0 -map 1:0 -map 2:0 \
 -f flv "rtmp://live.twitch.tv/app/$KEY"

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

সাথে চলছে:

 -f alsa -ac 2 -i jack \
 ....

এটি তবে দেয়:

[আলসা @ 0x1399280] 0x10000 2 নমুনা ফর্ম্যাট সেট করতে পারে না (অবৈধ যুক্তি)

জ্যাক: ইনপুট / আউটপুট ত্রুটি


কেবল একটি পরামর্শ, তবে সোক্স হ'ল এই জাতীয় জিনিসটির জন্য ডিজাইন করা একটি সহজভাবে প্রয়োগ করা ক্লাইম ইউটিলিটি। হিমায়িত মনে হচ্ছে এটির উপর একটি দৃ firm় দৃ handle় হ্যান্ডেল রয়েছে।
মাইক্রজারভ

উত্তর:


2

আপনার অডিও একসাথে মিশ্রিত করতে আপনার অ্যামিক্স ফিল্টারটি ব্যবহার করতে সক্ষম হওয়া উচিত।

উদাহরণ:

ffmpeg \
  -i http://pub1.di.fm:80/di_vocaltrance \ # internet radio
  -f alsa    -i hw:0 \                     # microphone
  -f x11grab -i :0.0 \                     # computer desktop
  -f v4l2    -i /dev/video0 \              # webcam or
  # -f iec61883 -i auto \                  # firewire camcorder
  -filter_complex '[0:a:0][1:a:0]amix=inputs=2;[3:v:0]scale=200:-1[webcam],[2:v:0][webcam]overlay=main_w-overlay_w-10:main_h-overlay_h-10' \
  <output>

আমি একটি ওয়েবক্যাম ওভারলে যুক্ত করেছি, এটি সরাতে, ওয়েবক্যাম লাইন, আধা-কোলন এবং অর্ধ-কোলনের পরে সংজ্ঞাগুলি বন্ধ করে দিতে।

সতর্কতা অবলম্বন করুন যে আপনি -mapযদি বহিরাগতদের সরাতে একাধিক স্ট্রিম রয়েছে এমন কোনও ইনপুট যুক্ত করেন তবে আপনাকে এর সংজ্ঞা দিতে হবে have

ব্যাখ্যা:

-filter_complex
একাধিক ইনপুট বা আউটপুট দিয়ে ফিল্টার সংজ্ঞায়িত করে
[0:a:0]
ইনপুট 0 এর অডিও স্ট্রিম নম্বর 0 (ইন্টারনেট রেডিও)
[1:a:0]
ইনপুট 1 এর অডিও স্ট্রিম নম্বর 0 (মাইক্রোফোন)
amix=inputs=2
দুটি অডিও স্ট্রিম একসাথে মিশ্রিত করুন, যদি কোনও ইনপুট স্ট্রিমগুলি সংজ্ঞায়িত না করা হয় তবে এটি দুটি স্বতঃবছর করে, তাই এই উদাহরণে আপনার উপরের দুটি সংজ্ঞা ছেড়ে যেতে সক্ষম হওয়া উচিত।
;
একটি নতুন ফিল্টার চেইন শুরু করুন
[3:v:0]
ইনপুট 3 এর ভিডিও স্ট্রিম নম্বর 0 (ওয়েবক্যাম)
scale=200:-1
ভিডিওটি 200x এ স্কেল করুন ???, -1 দিক অনুপাত রাখে, সুতরাং একটি 600x480 ভিডিও 200x160 হয়ে যায়।
[webcam]
স্কেলড আউটপুটটিকে "ওয়েবক্যাম" বলুন।
,
এই শৃঙ্খলে পরবর্তী ফিল্টার অবিরত করুন।
[2:v:0]
ইনপুট 2 এর ভিডিও স্ট্রিম নম্বর 0 (ডেস্কটপ)
[webcam]
স্কেলড ওয়েবক্যাম স্ট্রিম।
overlay=main_w-overlay_w-10:main_h-overlay_h-10
দ্বিতীয় ইনপুটটি প্রথম ইনপুটটির উপরে ওভারলে করুন, দ্বিতীয় ইনপুটটি ডান থেকে 10 পিক্সেল এবং নীচে থেকে 10 পিক্সেল রেখে।

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

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