LINUX.ORG.RU

Full HD на нетбуках с Atom без дополнительного декодера


1

2

Видео из YouTube имеет формат flv и кодировано кодеком avc. Перекодированное ffmpeg'ом в mpeg-4 asp a в том же битрейте оно воспроизводится без задержек и не нагружает одноядерный Atom с GMA 3150 до 100% в отличие от неперекодированного avc.

Например имеется клип размером 112,9 Мб: avc, 1920x1080p min 3417 Kbps, max 6198 Kbps. На Atom без дополнительного декодера такой клип будет воспроизводиться рывками.

Но с помощью ffmpeg, легким движением руки клип становится возможным вопроизводить на таких системах без каких-дибо рывков и зависаний.

ffmpeg -i Eminem.flv -ab 128k -ac 1 -vcodec mpeg4 -b 4808k -acodec libmp3lame hd2.avi

Узнать битрейт можно с помощью mediainfo.

Пример, где из переменного битрейта получен постотянный, путем сложнения общего (overall) значения с максимальным и делением на два (перекодирование клипа Eminem - Live the way you lie ft. Rihanna).

Вывод mediainfo:

user@pc:~/Загрузки$ mediainfo Eminem.flv
General
Complete name                    : Eminem.flv
Format                           : MPEG-4
Format profile                   : Base Media / Version 2
Codec ID                         : mp42
File size                        : 113 MiB
Duration                         : 4mn 26s
Overall bit rate                 : 3 549 Kbps
Encoded date                     : UTC 2010-08-04 19:13:59
Tagged date                      : UTC 2010-08-04 19:13:59
gsst                             : 0
gstd                             : 266916
gssd                             : BD075E247HH1315121798035960
gshh                             : o-o.preferred.ams03g05.v15.lscache4.c.youtube.com

Video
ID                               : 1
Format                           : AVC
Format/Info                      : Advanced Video Codec
Format profile                   : High@L4.0
Format settings, CABAC           : No
Format settings, ReFrames        : 1 frame
Format settings, GOP             : M=1, N=33
Codec ID                         : avc1
Codec ID/Info                    : Advanced Video Coding
Duration                         : 4mn 26s
Bit rate mode                    : Variable
Bit rate                         : 3 417 Kbps
Maximum bit rate                 : 6 198 Kbps
Width                            : 1 920 pixels
Height                           : 1 080 pixels
Display aspect ratio             : 16:9
Frame rate mode                  : Variable
Frame rate                       : 23.976 fps
Original frame rate              : 24.000 fps
Minimum frame rate               : 17.241 fps
Maximum frame rate               : 24.390 fps
Color space                      : YUV
Chroma subsampling               : 4:2:0
Bit depth                        : 8 bits
Scan type                        : Progressive
Bits/(Pixel*Frame)               : 0.069
Stream size                      : 109 MiB (96%)
Tagged date                      : UTC 2010-08-04 19:14:02

Audio
ID                               : 2
Format                           : AAC
Format/Info                      : Advanced Audio Codec
Format profile                   : LC
Codec ID                         : 40
Duration                         : 4mn 26s
Bit rate mode                    : Variable
Bit rate                         : 127 Kbps
Maximum bit rate                 : 201 Kbps
Channel(s)                       : 2 channels
Channel positions                : Front: L R
Sampling rate                    : 44.1 KHz
Compression mode                 : Lossy
Stream size                      : 4.03 MiB (4%)
Title                            : (C) 2007 Google Inc. v08.13.2007.
Encoded date                     : UTC 2010-08-04 19:14:01
Tagged date                      : UTC 2010-08-04 19:14:02

Вывод ffmpeg:

user@pc:~/Загрузки$ ffmpeg -i Eminem.flv -ab 128k -ac 1 -vcodec mpeg4 -b 4808k -acodec libmp3lame hd2.avi
FFmpeg version SVN-r0.5.1-4:0.5.1-1ubuntu1.1, Copyright (c) 2000-2009 Fabrice Bellard, et al.
 configuration: --extra-version=4:0.5.1-1ubuntu1.1 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libgsm --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --enable-zlib --disable-stripping --disable-vhook --enable-runtime-cpudetect --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-libdc1394 --enable-shared --disable-static
 libavutil     49.15. 0 / 49.15. 0
 libavcodec    52.20. 1 / 52.20. 1
 libavformat   52.31. 0 / 52.31. 0
 libavdevice   52. 1. 0 / 52. 1. 0
 libavfilter    0. 4. 0 /  0. 4. 0
 libswscale     0. 7. 1 /  0. 7. 1
 libpostproc   51. 2. 0 / 51. 2. 0
 built on Mar 31 2011 18:53:20, gcc: 4.4.3

Seems stream 0 codec frame rate differs from container frame rate: 2000.00 (2000/1) -> 24.00 (24/1)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Eminem.flv':
 Duration: 00:04:26.91, start: 0.000000, bitrate: 3549 kb/s
   Stream #0.0(und): Video: h264, yuv420p, 1920x1080, 24 tbr, 1k tbn, 2k tbc
   Stream #0.1(und): Audio: aac, 44100 Hz, stereo, s16
Output #0, avi, to 'hd2.avi':
   Stream #0.0(und): Video: mpeg4, yuv420p, 1920x1080, q=2-31, 4808 kb/s, 90k tbn, 24 tbc
   Stream #0.1(und): Audio: libmp3lame, 44100 Hz, mono, s16, 128 kb/s
Stream mapping:
 Stream #0.0 -> #0.0
 Stream #0.1 -> #0.1
Press [q] to stop encoding
frame= 6400 fps=  6 q=2.0 Lsize=  159469kB time=266.89 bitrate=4894.7kbits/s    
video:154896kB audio:4170kB global headers:0kB muxing overhead 0.253222%
user@pc:~/Загрузки$

AVC

ASP

Разницы между ними нет практически никакой, кроме того, что размер файла увеличился относительно исходного на 37,9%.

Рекомендуется просматривать с помощью totem, т.к. vlc может некорректно воспроизводить перекодированный экземпляр.


Что сказать/спросить то хотел?!

erfea ★★★★★
()
Ответ на: комментарий от baverman

Чтоб посмотреть его на Full HD экране?

С нетбука? Ну да, востребованная функция, наверное, согласен.

PS: Это как раз после покупки Full HD экрана денег на что-то кроме GMA 3150 не осталось?

Ximen ★★★★
()

Спасибо. Добавил в избранные. Может потом пригодится (у меня аппаратное декодирование на ноутбуке).

ZenitharChampion ★★★★★
()
Ответ на: комментарий от Ximen

С нетбука?

Через годик этот вопрос станет глупым.

baverman ★★★
()
Ответ на: комментарий от ZenitharChampion

Предлагаешь на таком экране смотреть DivX с 640x480?

x264 720p на нем замечательно смотрится.

baverman ★★★
()
Ответ на: комментарий от ZenitharChampion

Нетбук это 1366x768.

И с GMA 3150? Чудные вы люди, честное слово.

Предлагаешь на таком экране смотреть DivX с 640x480?

Предлагаю не выёживаться с 1366x768 на десяти дюймах. На этой х-не и 640 будет нормально, раз уж на хотя бы ion соображалки не хватило. Не говоря уж о том, что между 640 и 1920 прорва вариантов.

Ximen ★★★★
()
Ответ на: комментарий от Ximen

>С нетбука? Ну да, востребованная функция, наверное, согласен.
Нетбук можно подключить к ТВ. Внезапно, многие так и делают.

Ramen ★★★★
()
Ответ на: комментарий от Ramen

Нетбук можно подключить к ТВ.

Мой телефон можно подключить к ТВ и что?

Внезапно, многие так и делают.

Ни один известный мне владелец нетбука не был замечен за этим безобразием. Потому резонный вопрос - откуда инфа про «многие»?

Ximen ★★★★
()

Отлично смотрю FullHD фильмы со своего нетубка на огромном телеке через HDMI... Правда у меня не Atom и видяха не GMA...

vasya_pupkin ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.