Yon dife 24/7 ki pa rekonekte ant videyo yo: yon sèl ffmpeg ki pase nan yon tiyo

Videyo

Yon chanèl an dirèk ki jwe videyo fini san rete gen de konsepsyon fasil, epi toude pèdi yon bagay. Rekòmanse ffmpeg pou chak videyo pèdi koneksyon RTMP a nan chak chanjman. Yon playlist concat li yon sèl fwa nan kòmansman an, konsa yon nouvo videyo tann pou pwochen rekòmansman an.

Konsepsyon an

Chak videyo konvèti yon sèl fwa nan MPEG-TS nan gwosè ak kadans videyo a; yon videyo vètikal chita sou yon kopi flou tèt li olye pou li gen bann nwa. Yon sèl pwosesis ffmpeg li MPEG-TS soti nan antre estanda li a epi li ankode ak yon debi bit konstan ak yon keyframe chak de segonn, jan entjèst an dirèk la atann li. Yon ti aparèy manje ekri fichye prepare yo nan tiyo a youn apre lòt, nan vitès reyèl, epi li chwazi pwochen fichye a nan chak chanjman: videyo ki pa t jwe an premye, epi apre sa, sa ki pi resan ki pa t jwe. Liyè MPEG-TS ffmpeg la wè ke tanpèt chak fichye rekòmanse epi li deplase yo, konsa sòti li a ap kontinye san entèripsyon.

Detay yon: vitès depi premye oktet la

Premye vèsyon nou an te kòmanse revèy li lè ffmpeg te kòmanse. Prepare premye fichye a te pran nèf segonn, konsa aparèy manje a te panse li te nèf segonn an reta epi li te voye yo tout an menm tan. Kòmanse revèy a nan premye oktet ekri a te regle li: yon sesyon 53 segonn te pwodui 53 segonn nan dife a.

Detay de: odyo a nan kouti a

Nan yon chanjman, odyo pwochen fichye a te kòmanse 17 milisegonn anvan odyo fichye anvan an te fini. Ankodè a te avèti ke antre li te ale "an ret nan tan" epi muxer la te repare yon tanpèt. Resanple ak aresample=async=1:min_hard_comp=0.01:first_pts=0 koupe oswa ajoute pou kouvri depasman sa yo anvan ankodè a wè yo. Nan yon sesyon yon ti kras plis pase yon minit ak senk chanjman, chak tanpèt odyo ak videyo nan dife resevwa a te monte, epi dife a te dekode san yon sèl erè.

Detay twa: kèk avètisman nòmal

Chak fichye rekòmanse kontè MPEG-TS li yo ak revèy li, konsa ffmpeg rapòte "Packet corrupt" ak "timestamp discontinuity" nan chak chanjman. Liy sa yo atann yo, epi nou kenbe yo deyò nan rejis la pou erè reyèl yo ka kanpe deyò.

Siveyans la

Si ffmpeg soti oswa pwogrè li a kanpe pandan yon minit, difizyon an rekòmanse ak ti poz ki vin pi long, epi li voye yon mesaj apre plizyè echèk. Nan tès nou an, nou te touye ankodè a manyèlman; difizyon an te retabli sèt segonn apre, epi yon videyo ajoute pandan wout la te rantre nan wotasyon an san yon rekoneksyon. Yon rekòmanse se yon ti rekoneksyon, kidonk mete difizyon YouTube a pou l kòmanse otomatikman epi pa pou l kanpe otomatikman. Kle difizyon an maske nan chak liy rejis, menm sa ffmpeg bay la. Studio bay chanèl dirèk sa a kòm yon sèvis systemd.

Mizajou: