Этот ответ является лишь продолжением ответа Спиффа на реальных примерах.
Например, здесь я выбираю это видео « Запуск вашего первого Docker-контейнера в Azure» из Channel 9 MSDN. У этого есть четыре формата файла того видео. Что я сделал? Ответ: Используйте curl --head
чтобы показать ТОЛЬКО заголовок этого HTTP/GET-запроса, который содержит Content-Type и Content-Length. Тогда скачай те. Используйте ffmpeg -i
чтобы показать информацию о кодировке загруженного видеофайла (ниже приведены только важные разделы). Вот три из них:
- Низкое качество MP4:
$> curl --head "https://sec.ch9.ms/ch9/7a84/8269395e-c022-4672-8b43-3cf1b5d57a84/jay-gordon-docker-in-azure.mp4"
Content-Length: 42,102,244
Content-Type: video/mp4
$> ffmpeg -i jay-gordon-docker-in-azure.mp4
Duration: 00:17:54.05, start: 0.000000, bitrate: 313 kb/s
Stream #0:0(eng): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 640x360, 210 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc (default)
Metadata:
handler_name : ?Mainconcept Video Media Handler
Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 96 kb/s (default)
Metadata:
handler_name : #Mainconcept MP4 Sound Media Handler
- Среднее качество MP4:
$> curl --head "https://sec.ch9.ms/ch9/7a84/8269395e-c022-4672-8b43-3cf1b5d57a84/jay-gordon-docker-in-azure_mid.mp4"
Content-Length: 129,621,802
Content-Type: video/mp4
$> ffmpeg -i jay-gordon-docker-in-azure_mid.mp4
Duration: 00:17:54.05, start: 0.000000, bitrate: 965 kb/s
Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720, 828 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc (default)
Metadata:
handler_name : ?Mainconcept Video Media Handler
Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default)
Metadata:
handler_name : #Mainconcept MP4 Sound Media Handler
- Высокое качество MP4:
$> curl --head "https://sec.ch9.ms/ch9/7a84/8269395e-c022-4672-8b43-3cf1b5d57a84/jay-gordon-docker-in-azure_high.mp4"
Content-Length: 385,374,160
Content-Type: video/mp4
$> ffmpeg -i jay-gordon-docker-in-azure_high.mp4
Duration: 00:17:54.05, start: 0.000000, bitrate: 2870 kb/s
Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080, 2701 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc (default)
Metadata:
handler_name : ?Mainconcept Video Media Handler
Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 160 kb/s (default)
Metadata:
handler_name : #Mainconcept MP4 Sound Media Handler
Сравните эти три команды вывода. По мере повышения качества Content-Length увеличивается битрейт аудио и видео. Таким образом, можно предположить качество видео из Content-Length в curl --head
но HTTP-заголовок не обеспечивает полное кодирование видео. Чтобы узнать больше о кодировании видео, нужно скачать файл. Только URL не может предоставить эту информацию.