[FFmpeg-user] Transcoding for the Roku with recent ffmpeg

Yan Seiner yan at seiner.com
Thu Jan 3 03:30:43 CET 2013


Carl Eugen Hoyos wrote:
> Yan Seiner <yan <at> seiner.com> writes:
>
>   
>> ffmpeg -i input.vob -acodec libfaac -ab 128k -vcodec libx264 -c:v 
>> libx264 -preset fast -profile:v baseline -s 854x480 -crf 22 -threads 0 
>> -f mp4 output.mp4
>>     
>
> Does the "older" version succeed with the following command line?
> $ ffmpeg -threads 1 -i input.vob -strict -2 -acodec aac -ab 128k 
> -vcodec libx264 -preset fast -vprofile baseline -s 854x480 -crf 22 
> out.mp4
>   
I can't say; I overwrote the older version when I compiled the newer 
ffmpeg.  :-(  I also upgraded libx264 so regression is not easy as I 
don't know what specific version and what compile options I used.

> (Does the "Roku" only support h264 or also mpeg4? Testing 
> without external libraries makes finding regressions much 
> easier.)
>   
The Roku is picky about the format.  I think it only supports h264.  The 
problem is finding the correct format.

Here's the "normal" preset I used with 0.8.x:

coder=1
flags=+loop
cmp=+chroma
partitions=+parti8x8+parti4x4+partp8x8+partb8x8
me_method=hex
subq=6
me_range=16
g=250
keyint_min=25
sc_threshold=40
i_qfactor=0.71
b_strategy=1
qcomp=0.6
qmin=10
qmax=51
qdiff=4
bf=3
refs=2
directpred=3
trellis=0
wpredp=2
flags2=+wpred+dct8x8+fastpskip+mbtree


> Generally, for all reports on this mailing list, complete, 
> uncut console output is essential.
>   
Here's my latest failed effort; Roku starts, plays about 30 seconds, and 
then starts dropping the connection.
ffmpeg -i avengers.vob -acodec libfaac -ab 128k -vcodec libx264 -vpre 
libx264-normal -s 854x480 -crf 22 -weightb 1 -8x8dct 1 -thread 0 -f mp4 
avengers.mp4

ffmpeg version 1.0 Copyright (c) 2000-2012 the FFmpeg developers
  built on Jan  1 2013 07:45:12 with gcc 4.3.3 (Debian 4.3.3-3)
  configuration: --enable-libx264 --enable-gpl --enable-libfaac 
--enable-nonfree
  libavutil      51. 73.101 / 51. 73.101
  libavcodec     54. 59.100 / 54. 59.100
  libavformat    54. 29.104 / 54. 29.104
  libavdevice    54.  2.101 / 54.  2.101
  libavfilter     3. 17.100 /  3. 17.100
  libswscale      2.  1.101 /  2.  1.101
  libswresample   0. 15.100 /  0. 15.100
  libpostproc    52.  0.100 / 52.  0.100
[mpeg @ 0x2a63240] max_analyze_duration 5000000 reached at 5004667
Input #0, mpeg, from 'avengers.vob':
  Duration: 01:06:19.48, start: 0.211867, bitrate: 14355 kb/s
    Stream #0:0[0x1e0]: Video: mpeg2video (Main), yuv420p, 720x480 [SAR 
32:27 DAR 16:9], 9800 kb/s, 23.98 fps, 59.94 tbr, 90k tbn, 59.94 tbc
    Stream #0:1[0x20]: Subtitle: dvd_subtitle
    Stream #0:2[0x21]: Subtitle: dvd_subtitle
    Stream #0:3[0x22]: Subtitle: dvd_subtitle
    Stream #0:4[0x23]: Subtitle: dvd_subtitle
    Stream #0:5[0x24]: Subtitle: dvd_subtitle
    Stream #0:6[0x25]: Subtitle: dvd_subtitle
    Stream #0:7[0x26]: Subtitle: dvd_subtitle
    Stream #0:8[0x27]: Subtitle: dvd_subtitle
    Stream #0:9[0x28]: Subtitle: dvd_subtitle
    Stream #0:10[0x29]: Subtitle: dvd_subtitle
    Stream #0:11[0x2a]: Subtitle: dvd_subtitle
    Stream #0:12[0x2b]: Subtitle: dvd_subtitle
    Stream #0:13[0x2c]: Subtitle: dvd_subtitle
    Stream #0:14[0x2d]: Subtitle: dvd_subtitle
    Stream #0:15[0x80]: Audio: ac3, 48000 Hz, 5.1(side), s16, 384 kb/s
    Stream #0:16[0x81]: Audio: ac3, 48000 Hz, stereo, s16, 192 kb/s
    Stream #0:17[0x82]: Audio: ac3, 48000 Hz, 5.1(side), s16, 384 kb/s
    Stream #0:18[0x83]: Audio: ac3, 48000 Hz, 5.1(side), s16, 384 kb/s
    Stream #0:19[0x84]: Audio: ac3, 48000 Hz, stereo, s16, 192 kb/s
File 'avengers.mp4' already exists. Overwrite ? [y/N] y
using SAR=1280/1281
[libx264 @ 0x2a81c60] using cpu capabilities: MMX2 SSE2Slow SlowCTZ
[libx264 @ 0x2a81c60] profile High, level 3.1
[libx264 @ 0x2a81c60] 264 - core 129 r2230 1cffe9f - H.264/MPEG-4 AVC 
codec - Copyleft 2003-2012 - http://www.videolan.org/x264.html - 
options: cabac=1 ref=2 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=6 
psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=0 
8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=3 
lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 
bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 
b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 
keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf 
mbtree=1 crf=22.0 qcomp=0.60 qpmin=10 qpmax=51 qpstep=4 ip_ratio=1.40 
aq=1:1.00
Output #0, mp4, to 'avengers.mp4':
  Metadata:
    encoder         : Lavf54.29.104
    Stream #0:0: Video: h264 ([33][0][0][0] / 0x0021), yuv420p, 854x480 
[SAR 1280:1281 DAR 16:9], q=10-51, 60k tbn, 59.94 tbc
    Stream #0:1: Audio: aac ([64][0][0][0] / 0x0040), 48000 Hz, 5.1, 
s16, 128 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (mpeg2video -> libx264)
  Stream #0:15 -> #0:1 (ac3 -> libfaac)
Press [q] to stop, [?] for help
Que input is backward in timeize=  513279kB time=01:16:35.96 bitrate= 
914.9kbits/s dup=165292 drop=0   
st:0 PTS: 220610501 DTS: 220610501 < 220610561 invalid, clippingrate= 
914.9kbits/s dup=165300 drop=0   
frame=514020 fps= 22 q=-1.0 Lsize= 1154384kB time=02:22:55.57 
bitrate=1102.7kbits/s dup=308411 drop=0   
video:940039kB audio:201428kB subtitle:0 global headers:0kB muxing 
overhead 1.131569%
[libx264 @ 0x2a81c60] frame I:7065  Avg QP:20.12  size: 19497
[libx264 @ 0x2a81c60] frame P:227704 Avg QP:23.61  size:  3359
[libx264 @ 0x2a81c60] frame B:279251 Avg QP:24.96  size:   215
[libx264 @ 0x2a81c60] consecutive B-frames: 24.0%  9.5%  3.9% 62.6%
[libx264 @ 0x2a81c60] mb I  I16..4: 17.7% 70.4% 11.8%
[libx264 @ 0x2a81c60] mb P  I16..4:  1.2%  3.5%  0.3%  P16..4: 28.9%  
7.6%  4.9%  0.0%  0.0%    skip:53.6%
[libx264 @ 0x2a81c60] mb B  I16..4:  0.5%  0.4%  0.0%  B16..8:  7.1%  
0.3%  0.0%  direct: 0.3%  skip:91.4%  L0:46.9% L1:49.9% BI: 3.1%
[libx264 @ 0x2a81c60] 8x8 transform intra:67.5% inter:64.6%
[libx264 @ 0x2a81c60] coded y,uvDC,uvAC intra: 52.3% 54.3% 22.3% inter: 
3.2% 4.6% 0.3%
[libx264 @ 0x2a81c60] i16 v,h,dc,p: 33% 23% 12% 32%
[libx264 @ 0x2a81c60] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 18% 20% 23%  5%  
7%  7%  7%  6%  7%
[libx264 @ 0x2a81c60] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 22% 22% 15%  5%  
9%  8%  8%  5%  5%
[libx264 @ 0x2a81c60] i8c dc,h,v,p: 57% 20% 17%  6%
[libx264 @ 0x2a81c60] Weighted P-Frames: Y:2.0% UV:1.1%
[libx264 @ 0x2a81c60] ref P L0: 70.2% 17.7% 12.0%  0.2%
[libx264 @ 0x2a81c60] ref B L0: 87.2% 12.8%
[libx264 @ 0x2a81c60] ref B L1: 97.5%  2.5%
[libx264 @ 0x2a81c60] kb/s:897.99





-- 
Help us raise money for my kids' swim team!

http://www.facebook.com/RiverRoadKids4Kids



More information about the ffmpeg-user mailing list