ఇటీవల, ఒక అభిరుచిగా, నేను నాకు తెలిసిన మనస్తత్వవేత్త యొక్క ఉపన్యాసాలను చిత్రీకరిస్తున్నాను. నేను ఫుటేజీని ఎడిట్ చేసి నా వెబ్సైట్లో ప్రచురిస్తాను. ఒక నెల క్రితం, YouTubeలో ఈ ఉపన్యాసాల 24/7 ప్రసారాన్ని నిర్వహించాలనే ఆలోచన నాకు వచ్చింది. ఒక రకమైన నేపథ్య "TV ఛానెల్" వ్యక్తిగత వృద్ధికి అంకితం చేయబడింది.
సాధారణ ప్రసారం ఎలా చేయాలో నాకు తెలుసు. కానీ అది వీడియో ఫైల్ల ప్రసారం అయ్యేలా ఎలా తయారు చేయాలి? తద్వారా ఇది 24/7 నడుస్తుంది, అనువైనది, సాధ్యమైనంత స్వయంప్రతిపత్తి కలిగి ఉంటుంది మరియు అదే సమయంలో నా హోమ్ కంప్యూటర్పై ఏ విధంగానూ ఆధారపడదు. ఇది నేను కనుగొనవలసి వచ్చింది.

పరిష్కారం కనుగొనడానికి చాలా రోజులు పట్టింది. నేను చాలా ఫోరమ్లు మరియు వివిధ మాన్యువల్లను అధ్యయనం చేసాను, అవి లేకుండా నా ప్రసారం పని చేయదు. మరియు ఇప్పుడు చిలిపి విజయం సాధించినందున, నా పరిష్కారాన్ని పంచుకోవాల్సిన అవసరం ఉందని నేను భావిస్తున్నాను. ఈ వ్యాసం ఇలా కనిపించింది.
సంక్షిప్తంగా, తుది పరిష్కారం క్రింది విధంగా ఉంది: VPS + ffmeg + బాష్ స్క్రిప్ట్. కట్ కింద, నేను తీసుకున్న దశలను వివరిస్తాను మరియు ప్రసారాన్ని నిర్వహించేటప్పుడు కనుగొనబడిన ఆపదల గురించి మాట్లాడతాను.
దశ 1 - ప్రసారం ఎక్కడ నుండి వస్తుంది?
చాలా ప్రారంభంలో, ప్రసారం ఎక్కడ నుండి మరియు దాని మూలం ఎక్కడ ఉంటుందో నిర్ణయించడం అవసరం. గుర్తుకు వచ్చిన మొదటి విషయం మీ హోమ్ కంప్యూటర్ నుండి. వీడియోలను ప్లేజాబితాలో సేకరించి, వాటిని ఏదైనా వీడియో ప్లేయర్లో ప్లే చేయడం ప్రారంభించండి. తర్వాత స్క్రీన్ ఇమేజ్ని క్యాప్చర్ చేసి యూట్యూబ్కి ప్రసారం చేయండి. కానీ నేను ఈ ఎంపికను దాదాపు వెంటనే తిరస్కరించాను ఎందుకంటే... దీన్ని అమలు చేయడానికి, మీరు మీ ఇంటి కంప్యూటర్ను నిరంతరం ఆన్లో ఉంచాలి, అంటే రాత్రిపూట కూడా కూలర్ల నుండి శబ్దం మరియు పెరిగిన విద్యుత్ వినియోగం (ప్రతి నెల + 100-150 kWh). మరియు ప్రసార సమయంలో మీరు మీ హోమ్ కంప్యూటర్ను ఉపయోగించలేరని తేలింది. మౌస్ యొక్క ఏదైనా కదలిక ప్రసారంలో కనిపిస్తుంది.
అప్పుడు నేను వైపు చూడటం మొదలుపెట్టాను క్లౌడ్ సేవలు. నేను నా వీడియోలను అప్లోడ్ చేయగల లేదా, ఉదాహరణకు, YouTube నుండి వీడియోలకు లింక్లను ఇన్సర్ట్ చేయగల రెడీమేడ్ సర్వీస్ కోసం వెతుకుతున్నాను మరియు అవన్నీ ఒకే నాన్స్టాప్ బ్రాడ్కాస్ట్లో ప్యాక్ చేయబడతాయి. కానీ నాకు సరిపోయేది ఏదీ కనుగొనబడలేదు. బహుశా నేను బాగా శోధించలేదు. ఫంక్షనాలిటీకి సరిపోయే ఏకైక విషయం restream.io, అనేక ప్లాట్ఫారమ్లకు ఏకకాలంలో ప్రసారం చేయడంలో సహాయపడే సేవ. అవి మీ స్వంత వీడియోలను అప్లోడ్ చేయడానికి మిమ్మల్ని అనుమతిస్తున్నట్లు కనిపిస్తోంది. కానీ ఈ సేవ పూర్తిగా భిన్నమైన ప్రయోజనాల కోసం సృష్టించబడింది మరియు ప్రసారం కేవలం రెండు గంటలు మాత్రమే ఉంటుందని వారు భావిస్తున్నారు. ఈ సేవ ద్వారా రౌండ్-ది-క్లాక్ ప్రసారాన్ని నిర్వహించడం సాధ్యమవుతుందని నేను భావిస్తున్నాను, అప్పుడు అది పదుల లేదా నెలకు వందల డాలర్లుగా షూట్ అవుతుంది. కానీ నేను ఇప్పటికీ ప్రసారాన్ని ఉచితంగా లేదా తక్కువ ఆర్థిక పెట్టుబడితో నిర్వహించాలనుకుంటున్నాను.
ప్రసారం కోసం అది అవసరం లేదా అని స్పష్టమైంది ప్రత్యేక పరికరం లేదా ప్రత్యేక కంప్యూటర్ కూడా. నేను రాస్ప్బెర్రీ పై వంటి వాటి వైపు ఆలోచిస్తున్నాను. ఇంకా ఏంటి? అతనికి కూలర్ లేదు. నేను ఫ్లాష్ డ్రైవ్లో వీడియోను రికార్డ్ చేసాను, ఈథర్నెట్ కేబుల్ను ప్లగ్ చేసి, దానిని ఎక్కడో ఏకాంత ప్రదేశంలో ఉంచి ప్రసారం చేసాను. ఎంపిక. కానీ నాకు బోర్డు లేదా దానితో పనిచేసిన అనుభవం లేదు, కాబట్టి నేను ఈ ఎంపికను కూడా తిరస్కరించాను.
ఫలితంగా, వారు సృష్టి గురించి చర్చించిన ఒక నిర్దిష్ట చర్చను నేను చూశాను సొంత సర్వర్ ప్రసారాలు. ఇది నేను వెతుకుతున్నది కాదు, కానీ నాకు ప్రధాన ఆలోచన వచ్చింది - మీరు సర్వర్ని ఉపయోగించవచ్చు! ఆ చర్చలో, VPS + nginx + OBS కలయికను ఉపయోగించమని సూచించబడింది. ఈ కాంబినేషన్ నాకు కూడా సూట్ అవుతుందని తేలిపోయింది. నాకు గందరగోళంగా ఉన్న ఏకైక విషయం ఏమిటంటే, నేను ఎప్పుడూ సర్వర్ని నిర్వహించలేదు మరియు నా స్వంత అంకితమైన సర్వర్ కలిగి ఉండటం గందరగోళంగా మరియు ఖరీదైనదిగా నాకు అనిపించింది. కనీస కాన్ఫిగరేషన్తో సర్వర్ని అద్దెకు తీసుకోవడానికి ఎంత ఖర్చవుతుందో తెలుసుకోవడానికి నేను నిర్ణయించుకున్నాను మరియు ఆశ్చర్యపోయాను.

ధరలు బెలారసియన్ రూబిళ్లలో సూచించబడ్డాయి మరియు ఇవి కేవలం ముక్కలు. అర్థం చేసుకోవడానికి, 8 బెలారసియన్ రూబిళ్లు సుమారు 3.5 డాలర్లు లేదా 240 రష్యన్ రూబిళ్లు. 24/7 ఆన్ చేయబడి, వేగవంతమైన ఇంటర్నెట్ యాక్సెస్ను కలిగి ఉన్న పూర్తి స్థాయి కంప్యూటర్ని ఉపయోగించడం కోసం ఒక నెల పాటు. కొన్ని కారణాల వల్ల, ఈ ఆవిష్కరణ నాకు చాలా ఆనందంగా మారింది మరియు చాలా రోజులు నేను అంతరిక్ష రాకెట్లను కనుగొన్న పిల్లవాడిలా చాలా సంతోషంగా తిరిగాను :)
మార్గం ద్వారా, "VPS అద్దె" ప్రశ్న కోసం Google నాకు అందించిన మొదటి సైట్ యొక్క ఆఫర్ను నేను సద్వినియోగం చేసుకున్నాను. బహుశా ఇంకా ఎక్కువ బడ్జెట్ పరిష్కారాలు ఉన్నాయి, కానీ ఈ ధర నాకు సరిపోతుంది మరియు నేను మరింత చూడలేదు.
సర్వర్ను సృష్టించేటప్పుడు, అది పనిచేసే ఆపరేటింగ్ సిస్టమ్ను మీరు ఎంచుకోవచ్చు. జాబితాలో ఉన్న ఏ సిస్టమ్లోనైనా ప్రసారాన్ని నిర్వహించవచ్చు, మరియు ఈ ఎంపిక మీ ప్రాధాన్యతలు మరియు బడ్జెట్పై ఆధారపడి ఉండాలి (ఒక సర్వర్ కోసం Windows (వారు అదనపు రుసుము అడుగుతారు). నేను ఎంచుకున్నాను CentOSకేవలం నాకు ఇంతకుముందు ఆమెతో పనిచేసిన అనుభవం ఉంది కాబట్టి.

దశ 2 - సర్వర్ సెటప్
సర్వర్ని సృష్టించిన తర్వాత మీకు అవసరమైన మొదటి విషయం SSH ద్వారా దానికి కనెక్ట్ చేయడం. మొదట నేను PuTTyని ఉపయోగించాను, కానీ నేను Google Chromeలో అమలు చేసే Secure Shell యాప్ని ఉపయోగించడం ప్రారంభించాను. ఇది నాకు మరింత సౌకర్యవంతంగా మారింది.
అప్పుడు నేను హోస్ట్ పేరుని మార్చాను, సర్వర్లో టైమ్ సింక్రొనైజేషన్ని సెటప్ చేసాను, సిస్టమ్ను నవీకరించాను, iptablesతో టింకర్ చేసాను... మరియు కొన్ని ఇతర విషయాలు చేసాను, కానీ అది అవసరం కాబట్టి కాదు. నేను సర్వర్ని సెటప్ చేయడంలో ఆసక్తిని కలిగి ఉన్నాను మరియు అది నాకు పనిచేసింది. ఇది పనిచేసినప్పుడు నేను దానిని ప్రేమిస్తున్నాను :)
మీరు తీసుకోవలసిన దశలు ఇక్కడ ఉన్నాయి:
- EPEL రిపోజిటరీని కనెక్ట్ చేయండి.
- FTP సర్వర్ని సెటప్ చేయండి (నేను vsftpని ఎంచుకున్నాను).
- ffmpegని ఇన్స్టాల్ చేయండి.
నేను ఆదేశాల గురించి వివరంగా చెప్పను; ఈ సూచన ఎక్కువగా భావనాత్మకమైనది, ఇది సాధారణ కార్యాచరణ ప్రణాళికను తెలియజేయడానికి ఉద్దేశించబడింది. ఏవైనా దశలలో మీకు ఏవైనా ఇబ్బందులు ఎదురైతే, " కోసం వెతకడం ద్వారా వాటిని త్వరగా పరిష్కరించుకోవచ్చు.CentOS EPELను కనెక్ట్ చేయండి" లేదా "CentOS FTP సర్వర్ను ఇన్స్టాల్ చేయడం." మరియు మీరు మొదటి లింక్లలో వివరణాత్మక దశల వారీ సూచనలను కనుగొనవచ్చు.
కాబట్టి, నేను ఇంతకు ముందు వ్రాసినట్లుగా, నాకు VPS + nginx + OBS కలయిక అవసరం. VPS - సిద్ధంగా ఉంది. అయితే ఇతర అంశాలపై ప్రశ్నలు మొదలయ్యాయి. OBS అనేది ప్రసార కార్యక్రమం, ఓపెన్ బ్రాడ్కాస్టర్ సాఫ్ట్వేర్. మరియు ఇది స్ట్రీమ్లతో మాత్రమే పనిచేస్తుంది అనగా. ఉదాహరణకు, ఇది వెబ్క్యామ్ నుండి చిత్రాన్ని తీసుకొని దానిని ప్రసారం చేస్తుంది. లేదా స్క్రీన్ రికార్డింగ్. లేదా ఇప్పటికే కొనసాగుతున్న ప్రసారం మరొక సైట్కి దారి మళ్లించబడుతుంది. కానీ నా దగ్గర స్ట్రీమ్ లేదు, స్ట్రీమ్గా చేయాల్సిన వీడియో ఫైల్ల సెట్ మాత్రమే నా వద్ద ఉంది.
నేను ఈ దిశలో త్రవ్వడం ప్రారంభించాను మరియు ffmpeg అంతటా వచ్చాను. FFmpeg అనేది డిజిటల్ ఆడియో మరియు వీడియోలను వివిధ ఫార్మాట్లలో రికార్డ్ చేయడానికి, మార్చడానికి మరియు ప్రసారం చేయడానికి మిమ్మల్ని అనుమతించే ఉచిత మరియు ఓపెన్ సోర్స్ లైబ్రరీల సమితి.
మరియు ffmpeg ఎంత చేయగలదో నేను చాలా ఆశ్చర్యపోయాను. మీకు కావాలంటే, అది వీడియో నుండి ధ్వనిని సంగ్రహిస్తుంది. మీకు కావాలంటే, అది రీకోడ్ చేయకుండానే వీడియో యొక్క భాగాన్ని కట్ చేస్తుంది. మీకు కావాలంటే, ఇది ఒక ఫార్మాట్ నుండి మరొక ఫార్మాట్కు మారుతుంది. మరియు చాలా, చాలా ఎక్కువ. మీరు దానికి ఫైల్ను పేర్కొనే స్థాయికి, అది దానిని స్ట్రీమ్గా మార్చుతుంది మరియు దానిని YouTubeకి ప్రసారం చేస్తుంది. అంతే, గొలుసు సమావేశమైంది. సూక్ష్మ నైపుణ్యాలను ఖరారు చేయడమే మిగిలి ఉంది.
దశ 3 - ప్రసార సెటప్
మేము YouTubeలో ప్రసారాన్ని సృష్టిస్తాము. ఈ దశలో మనకు లింక్ మరియు ప్రసార కీ మాత్రమే అవసరం. దిగువ స్క్రీన్షాట్లో అవి ఎరుపు రంగులో హైలైట్ చేయబడ్డాయి.

మరింత సర్వర్కి వీడియో ఫైల్లను అప్లోడ్ చేయండి, మేము ప్రసారం చేయడానికి ప్లాన్ చేస్తున్నాము. వాస్తవానికి, FTP ఈ దశకు మాత్రమే అవసరం. సర్వర్కు ఫైల్లను అప్లోడ్ చేయడానికి మీకు మరొక అనుకూలమైన మార్గం ఉంటే, మీరు FTP సర్వర్ను సెటప్ చేయవలసిన అవసరం లేదు.
మేము స్ట్రీమ్ను YouTubeకి ప్రసారం చేస్తాము. ప్రసారాన్ని ప్రారంభించడానికి, మీరు అనేక లక్షణాలతో ffmpegని అమలు చేయాలి. నాకు లభించిన అతి చిన్న కమాండ్ ఇలా ఉంది:
ffmpeg -re -i lecture1.mp4 -f flv rtmp://a.rtmp.youtube.com/live2/%КЛЮЧ_ТРАНСЛЯЦИИ%
అట్రిబ్యూట్ డీకోడింగ్-re – ఫైల్ తప్పనిసరిగా స్ట్రీమ్గా మార్చబడాలని సూచిస్తుంది.
-i - ఏ ఫైల్ ప్లే చేయాలో సూచిస్తుంది. వీడియో ఫైల్ ఉన్న అదే డైరెక్టరీ నుండి కమాండ్ ప్రారంభించబడటం ముఖ్యం. లేకపోతే, మీరు ఫైల్కి సంపూర్ణ లింక్ను పేర్కొనాలి /usr/media/lecture1.mp4.
-f - అవుట్పుట్ ఫైల్ ఆకృతిని సెట్ చేస్తుంది. నా విషయంలో, ffmpeg నా ఫైల్ను mp4 నుండి flvకి ఫ్లైలో మారుస్తుందని తేలింది.
మరియు ముగింపులో మేము ప్రసార సెట్టింగ్ల పేజీలో YouTube నుండి తీసుకున్న డేటాను సూచిస్తాము, అనగా. మీరు డేటాను బదిలీ చేయాల్సిన చిరునామా మరియు ప్రసార కీ, తద్వారా ప్రసారం మీ ఛానెల్లో ప్రత్యేకంగా ప్రదర్శించబడుతుంది.
మీరు ప్రతిదీ సరిగ్గా చేస్తే, ఈ ఆదేశాన్ని అమలు చేసిన తర్వాత, YouTube ప్రసారం చేయబడిన స్ట్రీమ్ను చూస్తుంది. ప్రసారాన్ని ప్రారంభించడానికి, మీరు YouTube లోనే "ప్రసారాన్ని ప్రారంభించు" బటన్ను క్లిక్ చేయాలి.
దశ 4 - స్వయంప్రతిపత్తిని జోడించండి
అభినందనలు! వీడియో ఫైల్ నుండి ప్రసారాన్ని ఎలా ప్రారంభించాలో ఇప్పుడు మీకు తెలుసు. కానీ XNUMX/XNUMX ప్రసారానికి ఇది సరిపోదు. మొదటి వీడియో ప్లే అయిన తర్వాత, తదుపరిది వెంటనే ప్రారంభమవుతుంది మరియు అన్ని వీడియోలు చూపబడినప్పుడు, ప్లేబ్యాక్ మళ్లీ ప్రారంభమవుతుంది.
నేను ఈ క్రింది ఎంపికతో ముందుకు వచ్చాను: ఒక .sh ఫైల్ను సృష్టించండి, దీనిలో నేను ప్రతి వీడియో ఫైల్కు ఒక ఆదేశాన్ని వ్రాసాను మరియు చివరిలో అదే స్క్రిప్ట్ను మళ్లీ అమలు చేయడానికి ఆదేశాన్ని సూచించాను. ఫలితం ఇలాంటి పునరావృతం:
Команда 1... (запуск трансляции файла lecture1.mp4)
Команда 2... (запуск трансляции файла lecture2.mp4)
Команда 3... (запуск трансляции файла lecture3.mp4)
bash start.sh
మరియు, అవును, అది పని చేసింది. నాతో సంతృప్తి చెంది, నేను టెస్ట్ ప్రసారాన్ని ప్రారంభించాను మరియు పడుకున్నాను.
ఉదయం ఒక అసహ్యకరమైన ఆశ్చర్యం నాకు వేచి ఉంది. నేను నా కంప్యూటర్ను ఆపివేసినందున ప్రసారం కేవలం రెండు నిమిషాలు మాత్రమే కొనసాగింది మరియు దాదాపు వెంటనే ముగిసింది. వినియోగదారు సర్వర్లోకి లాగిన్ అయినప్పుడు ఈ విధంగా ప్రారంభించబడిన ఆదేశాలు అమలు చేయబడతాయని పరిశోధనలో తేలింది. నేను డిస్కనెక్ట్ చేసిన వెంటనే, నేను అమలు చేస్తున్న ఆదేశాలకు అంతరాయం ఏర్పడింది. ఇది జరగకుండా నిరోధించడానికి, ఇది జట్టు ముందు సరిపోతుంది bash ఆదేశాన్ని జోడించండి nohup. ఇది మీ ఉనికితో సంబంధం లేకుండా నడుస్తున్న ప్రక్రియను అమలు చేయడానికి అనుమతిస్తుంది.
స్క్రిప్ట్ యొక్క చివరి కనిష్ట సంస్కరణ ఇలా కనిపిస్తుంది:
ffmpeg -re -i lecture1.mp4 -f flv rtmp://a.rtmp.youtube.com/live2/%КЛЮЧ_ТРАНСЛЯЦИИ%
ffmpeg -re -i lecture2.mp4 -f flv rtmp://a.rtmp.youtube.com/live2/%КЛЮЧ_ТРАНСЛЯЦИИ%
ffmpeg -re -i lecture3.mp4 -f flv rtmp://a.rtmp.youtube.com/live2/%КЛЮЧ_ТРАНСЛЯЦИИ%
nohup bash start.sh $
start.sh అనేది ఈ స్క్రిప్ట్ వ్రాయబడిన ఫైల్. మరియు ఈ ఫైల్ తప్పనిసరిగా వీడియో ఫైల్ల వలె అదే డైరెక్టరీలో ఉండాలి.
చివరలో డాలర్ చిహ్నాన్ని జోడించడం వలన ప్రాసెస్ బ్యాక్గ్రౌండ్లో రన్ అవుతుంది కాబట్టి మీరు ప్రసారానికి అంతరాయం కలగకుండా కన్సోల్ని ఉపయోగించడం కొనసాగించవచ్చు.
బోనస్లలో ఈ క్రింది గూడీస్ ఉన్నాయి:
- మీరు ఫైల్ ప్లేబ్యాక్ని మాన్యువల్గా మార్చవచ్చు. దీన్ని చేయడానికి, మీరు ప్రస్తుతం నడుస్తున్న ffmpeg ప్రక్రియను "చంపాలి". దీని తర్వాత, జాబితా నుండి తదుపరి ఫైల్ యొక్క ప్లేబ్యాక్ స్వయంచాలకంగా ప్రారంభమవుతుంది.
- ప్రసారాన్ని ఆపకుండా కొత్త వీడియోలను ప్రసారానికి జోడించవచ్చు. వీడియోను సర్వర్కు అప్లోడ్ చేయండి, స్క్రిప్ట్లో ఈ ఫైల్ను అమలు చేయడానికి ఆదేశాన్ని జోడించి, దాన్ని సేవ్ చేయండి. అంతే. తదుపరి రౌండ్ ప్లేబ్యాక్లో, పాత ఫైల్లతో పాటు కొత్త ఫైల్ ప్రసారం చేయబడుతుంది.
దశ 5 - ffmpegని అనుకూలీకరించండి
సూత్రప్రాయంగా, మేము అక్కడ ఆగిపోవచ్చు. కానీ నేను ప్రసారాన్ని వీక్షకులకు కొంచెం స్నేహపూర్వకంగా చేయాలనుకున్నాను.
ఒక వ్యక్తి ప్రసారానికి వెళ్లి, చూడటం ప్రారంభించి, ఇష్టపడి, మొదటి నుండి ఈ ఉపన్యాసాన్ని చూడాలనుకున్నాడు, కానీ ప్రసారం రివైండింగ్ని అనుమతించదు. మొదటి నుండి ఉపన్యాసాన్ని చూడటానికి, ఒక వ్యక్తి నా వెబ్సైట్కి వెళ్లి ఆసక్తి ఉన్న ఉపన్యాసం యొక్క రికార్డింగ్ను పొందవలసి ఉంటుంది. ఏ ఉపన్యాసం అతనికి ఆసక్తిని కలిగిస్తుందో మీరు ఎలా చెప్పగలరు? సైట్లో ఇప్పటికే 16 ఉపన్యాసాలు ఉన్నాయి మరియు ప్రతి వారం వాటిలో ఎక్కువ మాత్రమే ఉన్నాయి. ఈ ఉపన్యాసాలన్నింటినీ చిత్రీకరించిన మరియు సవరించిన నేను కూడా ఇది ఏ ఉపన్యాసం అని యాదృచ్ఛిక శకలం నుండి నిర్ణయించలేనని నేను భావిస్తున్నాను. అందువల్ల, ప్రతి ఉపన్యాసం ఏదో ఒకవిధంగా నియమించబడటం అవసరం.
ఎడిటింగ్ ప్రోగ్రామ్లోని సోర్స్ వీడియో ఫైల్లకు క్యాప్షన్లను జోడించే ఎంపిక నాకు సరిపోలేదు. అసలు ఫైల్లు ఉపయోగించబడ్డాయని నిర్ధారించుకోవడం అవసరం. కాబట్టి ప్రసారానికి మద్దతు ఇవ్వడానికి నా నుండి వీలైనంత తక్కువ శరీర కదలికలు అవసరం.
ffmpeg ఈ విషయంలో కూడా నాకు సహాయం చేయగలదని తేలింది. దీనికి ఒక ప్రత్యేక లక్షణం ఉంది -vf, ఇది వీడియోపై వచనాన్ని ఉంచడానికి అనుమతిస్తుంది. వీడియోకు వచనాన్ని జోడించడానికి, మీరు కింది భాగాన్ని ఆదేశానికి జోడించాలి:
-vf drawtext="fontfile=OpenSans.ttf:text='Лекция 13: Психология эмоций. Как создавать радость?':fontsize=26:fontcolor=white:borderw=1:bordercolor=black:x=40:y=670"
పారామితుల వివరణfontfile= - ఫాంట్ ఫైల్కి లింక్ చేయండి. ఇది లేకుండా, వీడియోకు శీర్షిక జోడించబడదు. వీడియో ఉన్న అదే ఫోల్డర్లో ఫాంట్ ఫైల్ను ఉంచడం సులభమయిన మార్గం. లేదా మీరు ఫైల్కు పూర్తి మార్గాన్ని పేర్కొనాలి.
text= - వాస్తవానికి, వీడియో పైన ఉంచాల్సిన వచనం.
fontsize= - పిక్సెల్లలో ఫాంట్ పరిమాణం.
fontcolor= - ఫాంట్ రంగు.
borderw= - టెక్స్ట్ చుట్టూ ఉన్న అవుట్లైన్ మందం పిక్సెల్లలో ఉంటుంది (నా దగ్గర 1 పిక్సెల్ మందపాటి నలుపు రంగు అవుట్లైన్తో తెల్లటి వచనం ఉంది).
bordercolor= - అవుట్లైన్ రంగు.
x= и y= - టెక్స్ట్ అక్షాంశాలు. చుక్క 0;0 ఎగువ ఎడమ మూలలో ఉంది. నా కోఆర్డినేట్లు 1280x720 పిక్సెల్ల వీడియో రిజల్యూషన్తో దిగువ ఎడమ మూలలో వచనాన్ని ఉంచే విధంగా ఎంపిక చేయబడ్డాయి.
ఇది ఇలా కనిపిస్తుంది:

దశ 6 - ప్రసార నాణ్యతను నిర్ణయించండి
అంతే, ప్రసారం సిద్ధంగా ఉంది. FFmpeg ప్రసారాలు, ఫైల్లు ప్లే చేయబడతాయి, ప్రసారానికి నా ఉనికి అవసరం లేదు. ప్రతి ఉపన్యాసం కూడా సంతకం చేయబడింది. చూడండి అంతే.
కానీ మరొక సూక్ష్మభేదం కనిపించింది - నేను కనీస సర్వర్ కాన్ఫిగరేషన్ని ఎంచుకున్నాను మరియు అది ప్రసారాన్ని పైకి లాగలేదు. సర్వర్ కాన్ఫిగరేషన్: 1 కోర్ (2.2 GHz వంటిది), 1 గిగాబైట్ RAM, 25 GB SSD. తగినంత ర్యామ్ ఉంది, కానీ ప్రాసెసర్ దాదాపు 100% వద్ద పూర్తిగా లోడ్ చేయబడింది (మరియు కొన్ని సమయాల్లో 102-103% కూడా :) ఇది ప్రసారాన్ని ప్రతి కొన్ని సెకన్లకు స్తంభింపజేయడానికి దారితీసింది. మంచిది కాదు.
మీరు కేవలం రెండు కోర్లతో ఖరీదైన కాన్ఫిగరేషన్ను తీసుకోవచ్చు, అదృష్టవశాత్తూ, క్లౌడ్ టెక్నాలజీలతో, రెండు బటన్లను నొక్కడం ద్వారా సర్వర్ కాన్ఫిగరేషన్ను మార్చడం జరుగుతుంది. కానీ నేను కనీస కాన్ఫిగరేషన్ కెపాసిటీకి సరిపోవాలనుకున్నాను. నేను ffmpeg డాక్యుమెంటేషన్ను అధ్యయనం చేయడం ప్రారంభించాను మరియు అవును, సిస్టమ్పై లోడ్ను నియంత్రించడానికి మిమ్మల్ని అనుమతించే సెట్టింగ్లు కూడా ఉన్నాయి.
అధిక చిత్ర నాణ్యతను రెండు విధాలుగా సాధించవచ్చు: అధిక CPU లోడ్ లేదా అధిక అవుట్గోయింగ్ ట్రాఫిక్. ప్రాసెసర్ ఎంత ఎక్కువ లోడ్ తీసుకుంటే, తక్కువ ఛానెల్ బ్యాండ్విడ్త్ అవసరమవుతుందని ఇది మారుతుంది. లేదా మీరు ప్రాసెసర్ను ఎక్కువగా లోడ్ చేయలేరు, కానీ మీకు పెద్ద ట్రాఫిక్ హెడ్రూమ్తో విస్తృత ఛానెల్ అవసరం. ప్రాసెసర్ మరియు అవుట్గోయింగ్ ఛానెల్/ట్రాఫిక్ పరిమాణం రెండింటిపై పరిమితులు ఉంటే, మీరు చిత్రం నాణ్యతను తగ్గించాలి, తద్వారా ప్రసారం సాఫీగా సాగుతుంది.
నా సర్వర్కి 10 Mbit/s వెడల్పు ఛానెల్కి యాక్సెస్ ఉంది. ఈ వెడల్పు సరిగ్గానే ఉంది. కానీ ట్రాఫిక్ పరిమితి ఉంది - నెలకు 1 TB. అందువల్ల, ట్రాఫిక్ పరిమితులను నెరవేర్చడానికి, నా అవుట్గోయింగ్ ఫ్లో సెకనుకు ~300 KBని మించకూడదు అంటే. అవుట్గోయింగ్ స్ట్రీమ్ యొక్క బిట్రేట్ 2,5 Mbit/s కంటే ఎక్కువ ఉండకూడదు. YouTube, ఈ బిట్రేట్లో ప్రసారం చేయమని సిఫార్సు చేస్తోంది.
సిస్టమ్పై లోడ్ను నియంత్రించడానికి, ffmpeg వివిధ విధానాలను ఉపయోగిస్తుంది. దీని గురించి బాగా రాశారు . నేను రెండు లక్షణాలను ఉపయోగించడం ముగించాను: -crf и -preset.
స్థిరమైన రేటు కారకం (CRF) - ఇది ఒక గుణకం, దీనికి ధన్యవాదాలు మీరు చిత్రం యొక్క నాణ్యతను సర్దుబాటు చేయవచ్చు. CRF 0 నుండి 51 వరకు విలువలను కలిగి ఉంటుంది, ఇక్కడ 0 అనేది మూలాధార ఫైల్ యొక్క నాణ్యత, 51 అత్యంత చెత్త నాణ్యత. 17 నుండి 28 వరకు విలువలను ఉపయోగించమని సిఫార్సు చేయబడింది, డిఫాల్ట్ 23. 17 గుణకంతో, వీడియో దృశ్యమానంగా అసలైనదానికి సమానంగా ఉంటుంది, కానీ సాంకేతికంగా అది ఒకేలా ఉండదు. పేర్కొన్న CRF ఆధారంగా తుది వీడియో పరిమాణం విపరీతంగా మారుతుందని డాక్యుమెంటేషన్ పేర్కొంది, అనగా. గుణకాన్ని 6 పాయింట్లు పెంచడం వల్ల అవుట్గోయింగ్ వీడియో బిట్రేట్ రెట్టింపు అవుతుంది.
CRFని ఉపయోగిస్తుంటే, మీరు అవుట్గోయింగ్ పిక్చర్ యొక్క "బరువు"ని ఎంచుకోవచ్చు, ఆపై ఉపయోగించి ప్రీసెట్లు (-ప్రీసెట్) ప్రాసెసర్ ఎంత భారీగా లోడ్ చేయబడుతుందో మీరు నిర్ణయించవచ్చు. ఈ లక్షణం క్రింది పారామితులను కలిగి ఉంది:
ultrafastsuperfastveryfastfasterfastmedium- డిఫాల్ట్ విలువslowslowerveryslow
"వేగంగా" పరామితి పేర్కొనబడింది, ప్రాసెసర్పై ఎక్కువ లోడ్ ఉంటుంది.
నేను మొదట నా ప్రాసెసర్కి ప్రాథమికంగా చాలా కఠినమైన ప్రీసెట్ని ఎంచుకున్నాను, ఆపై CRFని ఉపయోగించి లోడ్ను మరింత చక్కగా ఎంచుకున్నాను. నా విషయంలో, ప్రీసెట్ పనిచేసింది fast, మరియు crf కోసం నేను విలువ 24పై స్థిరపడ్డాను.
తీర్మానం
అంతే. ప్రసారాన్ని ప్రారంభించడానికి చివరి ఆదేశం ఇది:
ffmpeg -re -i lecture1.mp4 -vf drawtext="fontfile=OpenSans.ttf:text='Лекция 1: Жонглирование картинами мира':fontsize=26:fontcolor=white:borderw=1:bordercolor=black:x=40:y=670" -c:v libx264 -preset fast -crf 24 -g 3 -f flv rtmp://a.rtmp.youtube.com/live2/%КЛЮЧ_ТРАНСЛЯЦИИ%
ఇక్కడ వివరించబడని రెండు పాయింట్లు మాత్రమే మిగిలి ఉన్నాయి:
1) -c:v libx264 - సోర్స్ ఫైల్తో పని చేయడానికి ఒక నిర్దిష్ట కోడెక్ను పేర్కొనడం.
2) -g 3 - కీ ఫ్రేమ్ల సంఖ్య యొక్క స్పష్టమైన సూచన. ఈ సందర్భంలో, ప్రతి మూడవ ఫ్రేమ్ కీ ఫ్రేమ్గా ఉండాలని పేర్కొనబడింది. ప్రామాణిక విలువ 5 లేదా 8, కానీ YouTube ప్రమాణం చేసి కనీసం 3ని అడుగుతుంది.
ప్రసారం ఏ నాణ్యతతో ఉందో మీరు చూడవచ్చు .
సర్వర్పై లోడ్ క్రింది విధంగా ఉంది:


పర్యవేక్షణ డేటా ఆధారంగా, ప్రాసెసర్ లోడ్ 70% నుండి 95% వరకు ఉంటుందని మరియు వారంలో ప్రసారం 100%కి చేరుకోలేదని స్పష్టమవుతుంది. అంటే ఈ సెట్టింగ్లతో ప్రాసెసర్ సరిపోతుంది.
డిస్క్ను లోడ్ చేయడం ద్వారా, ఇది దాదాపుగా లోడ్ చేయబడలేదని నేను చెప్పగలను మరియు ప్రసారానికి సాధారణ HDD సరిపోతుంది.
కానీ అవుట్గోయింగ్ ట్రాఫిక్ మొత్తం నన్ను కలవరపెడుతోంది. నా అవుట్గోయింగ్ స్ట్రీమ్ సెకనుకు 450 నుండి 650 KB వరకు ఉంటుందని తేలింది. ఒక నెలలో ఇది దాదాపు 1,8 టెరాబైట్లు అవుతుంది. మీరు అదనపు ట్రాఫిక్ని కొనుగోలు చేయాల్సి రావచ్చు లేదా రెండు కోర్లతో కూడిన కాన్ఫిగరేషన్కు మారవచ్చు ఎందుకంటే... చిత్రం నాణ్యతను తగ్గించడం నాకు ఇష్టం లేదు.
***
ఫలితంగా, అటువంటి ప్రసారాన్ని మొదటి నుండి సెటప్ చేయడానికి సుమారు 1-2 గంటలు పడుతుందని నేను చెబుతాను. అంతేకాకుండా, వీడియోను సర్వర్కు అప్లోడ్ చేయడానికి ఎక్కువ సమయం పడుతుంది.
అటువంటి ప్రసారాన్ని ప్రారంభించడం అనేది మార్కెటింగ్ సాధనంగా తనను తాను సమర్థించుకోలేదు. బహుశా, మేము వీక్షణలను పెంచినట్లయితే, YouTube అల్గారిథమ్లు ఈ ప్రసారాన్ని ఎంచుకొని, సిఫార్సులలో చురుకుగా చూపించడం ప్రారంభించినట్లయితే, అప్పుడు ఏదో పని చేస్తుంది. నా విషయానికొస్తే, 16 రోజుల నిరంతర ప్రసారంలో ఇది 58 సార్లు వీక్షించబడింది.
పర్లేదు. నా వెబ్సైట్ యొక్క ప్రధాన పేజీలో ప్రసారం శ్రావ్యంగా సరిపోతుంది. ఇది లెక్చరర్ మరియు ఉపన్యాసాల గురించి త్వరగా నా స్వంత అభిప్రాయాన్ని ఏర్పరుచుకునే అవకాశాన్ని ఇచ్చింది.
మరియు ఒక క్షణం. ప్రసారం ఎవరి కాపీరైట్ను ఉల్లంఘించకపోవడం ముఖ్యం, లేకుంటే అది బ్లాక్ చేయబడుతుంది. నేను నా ప్రసారం గురించి ప్రశాంతంగా ఉన్నాను ఎందుకంటే... నేను ప్రత్యేకంగా ఉచిత ఉపయోగంతో సంగీత ఇన్సర్ట్లను ఎంచుకున్నాను మరియు కంటెంట్ రచయిత సమీపంలోని కంప్యూటర్లో కూర్చుంటారు మరియు ఆమె కంటెంట్ని ఉపయోగించడం నాకు అస్సలు వ్యతిరేకం కాదు :)
కానీ మీరు మీ ప్రసారంలో ఎక్కడైనా బ్యాక్గ్రౌండ్లో రేడియో ప్లే చేస్తే, లేదా మీరు ఎడిటింగ్ సమయంలో మీకు ఇష్టమైన ట్రాక్ని ఉపయోగించినట్లయితే లేదా జనాదరణ పొందిన మ్యూజిక్ వీడియో, టీవీ సిరీస్ లేదా ఫిల్మ్ నుండి వీడియో సీక్వెన్స్ తీసుకున్నట్లయితే, మీ ప్రసారం ప్రమాదంలో ఉంది. ప్రసారం కనీసం కనిష్ట సెమాంటిక్ లోడ్ను కలిగి ఉండటం కూడా ముఖ్యం, లేకుంటే అది స్పామ్గా బ్లాక్ చేయబడవచ్చు.
***
నా దగ్గర ఉన్నది అంతే. ఈ మాన్యువల్ ఎవరికైనా బాగా ఉపయోగపడుతుందని నేను ఆశిస్తున్నాను. బాగా, మీరు జోడించడానికి ఏదైనా ఉంటే, వ్రాయండి, నేను వ్యాసానికి చేర్పులు మరియు స్పష్టీకరణలను చదివి సంతోషిస్తాను.
మూలం: www.habr.com
