LINUX.ORG.RU

пару вопросов по кодированию в ffmpeg (crop/size)


0

1

чтото я запутался слегка с ffmpeg. обычно кодировал мувики в mencoderе, но по идее для iPad проще, ну или быстрей, будет сразу делать в ffmpeg. как обычно определил че и как перекроить:

# mplayer 00002.m2ts
...
Movie-Aspect is 1.78:1 - prescaling to correct movie aspect.
VO: [x11] 1440x1080 => 1920x1080 Planar YV12  [zoom]
...
те исходный размер 1440x1080. идем дальше
# mplayer -vf cropdetect 00002.m2ts
...
[CROP] Crop area: X: 0..1439  Y: 0..1079  (-vf crop=1440:1072:0:4).
A: 603.1 V: 603.1 A-V: -0.001 ct:  0.003  93/ 93 48% 48%  0.7% 0 0 
...
чтобы сделать размер 704х400, режем еще немного
# mplayer -vf crop=1416:1072:12:4,scale=704:400 00002.m2ts
...
Starting playback...
Movie-Aspect is 1.78:1 - prescaling to correct movie aspect.
[swscaler @ 0xd73160]BICUBIC scaler, from yuv420p to bgra using MMX2
VO: [x11] 704x400 => 704x400 BGRA  [zoom]
...
вроде зер гут и можно запускать ffmpeg (лишние опции убрал)
# ffmpeg -i 00002.m2ts -vf crop=1416:1072:12:4 -s 704x400 -an -f h264 -y tmpp.mp4
...
Input #0, mpegts, from '00002.m2ts':
  Duration: 02:26:03.74, start: 599.966644, bitrate: 18537 kb/s
  Program 1 
    Stream #0.0[0x1011]: Video: h264 (High), yuv420p, 1440x1080 [PAR 4:3 DAR 16:9], 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
    Stream #0.1[0x1100]: Audio: ac3, 48000 Hz, 5.1, s16, 640 kb/s
[buffer @ 0x71b25a0] w:1440 h:1080 pixfmt:yuv420p tb:1/1000000 sar:4/3 sws_param:
[scale @ 0x71cdb60] w:1440 h:1080 fmt:yuv420p -> w:704 h:400 fmt:yuv420p flags:0x4
[crop @ 0x71b1900] w:704 h:400 -> w:1416 h:1072
[crop @ 0x71b1900] Invalid too big or non positive size for width '1416' or height '1072'
Error opening filters!
если просто тупо без кропинга, то получается
# ffmpeg -i 00002.m2ts -s 704x400 -an -f h264 -y tmpp.mp4
...
Input #0, mpegts, from '00002.m2ts':
  Duration: 02:26:03.74, start: 599.966644, bitrate: 18537 kb/s
  Program 1 
    Stream #0.0[0x1011]: Video: h264 (High), yuv420p, 1440x1080 [PAR 4:3 DAR 16:9], 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
    Stream #0.1[0x1100]: Audio: ac3, 48000 Hz, 5.1, s16, 640 kb/s
[buffer @ 0x17424500] w:1440 h:1080 pixfmt:yuv420p tb:1/1000000 sar:4/3 sws_param:
[scale @ 0x1743fb20] w:1440 h:1080 fmt:yuv420p -> w:704 h:400 fmt:yuv420p flags:0x4
[libx264 @ 0x17425980] Default settings detected, using medium profile
[libx264 @ 0x17425980] using SAR=4/3
[libx264 @ 0x17425980] using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2
[libx264 @ 0x17425980] profile High, level 3.0
Output #0, h264, to 'tmpp.mp4':
  Metadata:
    encoder         : Lavf52.110.0
    Stream #0.0: Video: libx264, yuv420p, 704x400 [PAR 4:3 DAR 176:75], q=2-31, 200 kb/s, 90k tbn, 29.97 tbc
Stream mapping:
  Stream #0.0 -> #0.0
Press [q] to stop, [?] for help
но мувик то кривой
# mplayer tmpp.mp4
...
Movie-Aspect is 1.78:1 - prescaling to correct movie aspect.
VO: [x11] 704x400 => 712x400 Planar YV12 
...
с менкодером такого траха небыло. кто имеет опыт борьбы? поделитесь...



Последнее исправление: huan (всего исправлений: 3)

почему кривой?

anonymous
()

Просто mp4 должен быть кратен 16, у тебя высота 400 400*1,78 = 712 вот проигрыватель его и масштабирует просто 704 + 16 = 720 - 712 = 8 и 712 - 704 = 8

Все равно в какую сторону округлять, хотя если в большую качество лучше, по разрешению. Я обычно в большую округляю.

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