Partiamo dal primo, quello dell'uomo ragno:
Codice: Seleziona tutto
$ yt-dlp -F 'https://www.youtube.com/watch?v=MUxHmvWYqFQ'
[youtube] MUxHmvWYqFQ: Downloading webpage
[youtube] MUxHmvWYqFQ: Downloading android player API JSON
[youtube] MUxHmvWYqFQ: Downloading player c5a4daa1
[info] Available formats for MUxHmvWYqFQ:
ID EXT RESOLUTION FPS │ FILESIZE TBR PROTO │ VCODEC VBR ACODEC ABR ASR MORE INFO
───────────────────────────────────────────────────────────────────────────────────────────────────────────────────
sb2 mhtml 48x27 │ mhtml │ images storyboard
sb1 mhtml 80x45 │ mhtml │ images storyboard
sb0 mhtml 160x90 │ mhtml │ images storyboard
139 m4a audio only │ 1010.31KiB 48k https │ audio only mp4a.40.5 48k 22050Hz low, m4a_dash
249 webm audio only │ 956.31KiB 46k https │ audio only opus 46k 48000Hz low, webm_dash
250 webm audio only │ 1.22MiB 60k https │ audio only opus 60k 48000Hz low, webm_dash
140 m4a audio only │ 2.62MiB 129k https │ audio only mp4a.40.2 129k 44100Hz medium, m4a_dash
251 webm audio only │ 2.43MiB 120k https │ audio only opus 120k 48000Hz medium, webm_dash
17 3gp 176x144 7 │ 1.61MiB 79k https │ mp4v.20.3 79k mp4a.40.2 0k 22050Hz 144p
160 mp4 256x144 30 │ 1.28MiB 63k https │ avc1.4d400c 63k video only 144p, mp4_dash
278 webm 256x144 30 │ 1.59MiB 78k https │ vp9 78k video only 144p, webm_dash
133 mp4 426x240 30 │ 2.68MiB 132k https │ avc1.4d4015 132k video only 240p, mp4_dash
242 webm 426x240 30 │ 3.03MiB 149k https │ vp9 149k video only 240p, webm_dash
134 mp4 640x360 30 │ 4.99MiB 246k https │ avc1.4d401e 246k video only 360p, mp4_dash
18 mp4 640x360 30 │ 11.32MiB 560k https │ avc1.42001E 560k mp4a.40.2 0k 44100Hz 360p
243 webm 640x360 30 │ 6.27MiB 310k https │ vp9 310k video only 360p, webm_dash
135 mp4 854x480 30 │ 8.08MiB 400k https │ avc1.4d401f 400k video only 480p, mp4_dash
244 webm 854x480 30 │ 10.98MiB 543k https │ vp9 543k video only 480p, webm_dash
22 mp4 1280x720 30 │ ~ 26.69MiB 1293k https │ avc1.64001F 1293k mp4a.40.2 0k 44100Hz 720p
136 mp4 1280x720 30 │ 23.52MiB 1164k https │ avc1.4d401f 1164k video only 720p, mp4_dash
247 webm 1280x720 30 │ 20.90MiB 1034k https │ vp9 1034k video only 720p, webm_dash
298 mp4 1280x720 60 │ 39.32MiB 1946k https │ avc1.4d4020 1946k video only 720p60, mp4_dash
302 webm 1280x720 60 │ 32.40MiB 1604k https │ vp9 1604k video only 720p60, webm_dash
299 mp4 1920x1080 60 │ 70.26MiB 3478k https │ avc1.64002a 3478k video only 1080p60, mp4_dash
303 webm 1920x1080 60 │ 56.63MiB 2803k https │ vp9 2803k video only 1080p60, webm_dash
308 webm 2560x1440 60 │ 144.78MiB 7167k https │ vp9 7167k video only 1440p60, webm_dash
315 webm 3840x2160 60 │ 388.07MiB 19213k https │ vp9 19213k video only 2160p60, webm_dash
Allora, come flusso video scegliamo il "299" ovvero mp4_dash 1920x1080 in avc1.64002a e 60 fps. Come audio va bene il "140", quindi m4a_dash a 129k. Per il video non vado oltre il 1080 perché la scheda non ce la fa mi sembra di ricordare e in più non ho neanche uno schermo in 4k quindi l'utilità è poca alla fine... sì sarebbe comunque utile se non ci fosse modo di limitare mpv/yt-dlp nella scelta del formato video, ma almeno sul tubo il filtro automatico funziona.
Come dicevo comunque, in questo topic il problema non è tanto filtrare il formato giusto, ma riprodurre il video nel formato 1080p in modo da sfruttare l'accelerazione hardware della scheda e al tempo stesso verificare che non vi siano problemi di playback come la sincronia audio video non riuscita. C'è da dire che vista la pochezza della scheda video non mi stupirei se il "1080p60" non riuscisse proprio a reggerlo.
Ad ogni modo scarico col seguente comando ed eccoci:
Codice: Seleziona tutto
$ yt-dlp -f 299+140 'https://www.youtube.com/watch?v=MUxHmvWYqFQ'
[youtube] MUxHmvWYqFQ: Downloading webpage
[youtube] MUxHmvWYqFQ: Downloading android player API JSON
[info] MUxHmvWYqFQ: Downloading 1 format(s): 299+140
[download] Destination: SPIDER-MAN - NO WAY HOME - Official Teaser Trailer (4K ULTRA HD 60FPS) NEW 2021 [MUxHmvWYqFQ].f299.mp4
[download] 100% of 70.26MiB in 00:37
[download] Destination: SPIDER-MAN - NO WAY HOME - Official Teaser Trailer (4K ULTRA HD 60FPS) NEW 2021 [MUxHmvWYqFQ].f140.m4a
[download] 100% of 2.62MiB in 00:02
[Merger] Merging formats into "SPIDER-MAN - NO WAY HOME - Official Teaser Trailer (4K ULTRA HD 60FPS) NEW 2021 [MUxHmvWYqFQ].mp4"
Deleting original file SPIDER-MAN - NO WAY HOME - Official Teaser Trailer (4K ULTRA HD 60FPS) NEW 2021 [MUxHmvWYqFQ].f299.mp4 (pass -k to keep)
Deleting original file SPIDER-MAN - NO WAY HOME - Official Teaser Trailer (4K ULTRA HD 60FPS) NEW 2021 [MUxHmvWYqFQ].f140.m4a (pass -k to keep)
Ok, ora che il file è in locale già composto coi due flussi audio e video ecc. Ecco quali sono le caratteristiche delle due tracce:
Codice: Seleziona tutto
$ ffmpeg -hide_banner -i SPIDER-MAN\ -\ NO\ WAY\ HOME\ -\ Official\ Teaser\ Trailer\ \(4K\ ULTRA\ HD\ 60FPS\)\ NEW\ 2021\ \[MUxHmvWYqFQ\].mp4
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'SPIDER-MAN - NO WAY HOME - Official Teaser Trailer (4K ULTRA HD 60FPS) NEW 2021 [MUxHmvWYqFQ].mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf58.76.100
Duration: 00:02:49.48, start: 0.000000, bitrate: 3611 kb/s
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, smpte170m/smpte170m/bt709), 1920x1080 [SAR 1:1 DAR 16:9], 3472 kb/s, 60 fps, 60 tbr, 15360 tbn, 120 tbc (default)
Metadata:
handler_name : ISO Media file produced by Google Inc.
vendor_id : [0][0][0][0]
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 127 kb/s (default)
Metadata:
handler_name : ISO Media file produced by Google Inc.
vendor_id : [0][0][0][0]
At least one output file must be specified
In particolare il video
Codice: Seleziona tutto
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, smpte170m/smpte170m/bt709), 1920x1080 [SAR 1:1 DAR 16:9], 3472 kb/s, 60 fps, 60 tbr, 15360 tbn, 120 tbc (default)
Ok e ora provo con MPV come sopra.
Prima usando l'accelerazione hardware (hwdec=auto):
Codice: Seleziona tutto
$ mpv --no-config -hwdec=auto SPIDER-MAN\ -\ NO\ WAY\ HOME\ -\ Official\ Teaser\ Trailer\ \(4K\ ULTRA\ HD\ 60FPS\)\ NEW\ 2021\ \[MUxHmvWYqFQ\].mp4
(+) Video --vid=1 (*) (h264 1920x1080 60.000fps)
(+) Audio --aid=1 (*) (aac 2ch 44100Hz)
Using hardware decoding (vdpau).
AO: [pulse] 44100Hz stereo 2ch float
VO: [gpu] 1920x1080 vdpau[yuv420p]
AV: 00:02:45 / 00:02:49 (97%) A-V: 0.223 Dropped: 5402
Exiting... (Quit)
In questo caso a quanto pare non saltano fuori eccessivi e vistosi problemi di sincronia A-V.
Ci sono però un sacco di Dropped Frames, azzardo da ignorante... necessari forse proprio per mantenere in sincrono l'audio e il video?
Del tipo: il video non riesce a stare dietro all'audio dovendo riprodurre 60 frames al secondo, allora "compensa" buttando via un po' di frames dando così la priorità alla sincronia A-V.
Ora in termini pratici, lì ha buttato via 5402 frames in poco meno di 3 minuti di video.
La visione è passabile, ma sempre da ignorante i frames persi e qualche sentore di rallentamento o scatti qua e là si percepisce, non è bella fluida come tanto per dire una trasmissione in HD che si vede su una tv.
Riguardo la cpu, sta sotto al 5% avendo cura di chiudere tutte le schede di firefox tranne quella in cui sto scrivendo qui su slacky, questo vuol dire che effettivamente il carico viene affidato in toto alla GPU.
Se infine provo a lanciare mpv senza -hwdec=auto, dovrebbe riprodurre il video senza accelerazione hardware:
Codice: Seleziona tutto
$ mpv --no-config SPIDER-MAN\ -\ NO\ WAY\ HOME\ -\ Official\ Teaser\ Trailer\ \(4K\ ULTRA\ HD\ 60FPS\)\ NEW\ 2021\ \[MUxHmvWYqFQ\].mp4
(+) Video --vid=1 (*) (h264 1920x1080 60.000fps)
(+) Audio --aid=1 (*) (aac 2ch 44100Hz)
AO: [pulse] 44100Hz stereo 2ch float
VO: [gpu] 1920x1080 yuv420p
AV: 00:02:49 / 00:02:49 (100%) A-V: 0.000 Dropped: 154
Exiting... (End of file)
Infatti questa volta la CPU mostra un carico dal 70 all'80%, quindi in pratica fa quasi tutto il processore.
A pelle però si avverte subito una maggiore fluidità del video e guardando i dati qui sopra si vede che la sincronia è ben migliore di prima, e in più i frames buttati sono veramente pochi rispetto a prima.
In conclusione carico della CPU a parte, sembra proprio che il video in 1080p e 60 FPS viaggi meglio senza l'accelerazione hardware della scheda video che con.
Possibile?
Cosa ne pensate?
Può essere dovuto ad una configurazione non corretta della scheda in termini di drivers o configurazioni varie oppure il limite della stessa è proprio hardware e non ci si può far nulla?