Opened 12 years ago

Last modified 12 years ago

#859 new defect

Bug encoding flash video on ARM

Reported by: alesan@… Owned by: reimar
Priority: important Component: core
Version: unspecified Severity: normal
Keywords: Cc:
Blocked By: Blocking:
Reproduced by developer: Analyzed by developer:

Description

It seems there is an encoding bug for arm.
I have compiled svn version of mencoder on a Linksys NSLU2, ARMv5@266MHz, 32MB RAM, 500GB USB HDD, Linux Debian.

The bug is about "flash video", everything seems fine with
"standard" mpeg4 encoding.
I have uploaded a test case at:

http://www.manoweb.com/alesan/temp/test-arm-flv.tar.bz2
[6.74MB]

What I am trying to do if to encode some pictures from a
digital camera in "flash video" format. I included some
pictures and a script that does the following:

mencoder mf://2007*.jpg -mf w=2048:h=1536:fps=25:type=jpg
-vf scale=720:540 -of lavf -lavfopts
i_certify_that_my_video_stream_does_not_use_b_frames
-ffourcc FLV1 -ovc lavc -lavcopts vcodec=flv -o 2007.flv

while this very command works and produces a good output on
a x86 computer, the version made by the arm box is not
playable by mplayer or any flash player:

$ mplayer 2007-arm.flv
MPlayer 2:1.0~rc1-0ubuntu9.1 (C) 2000-2006 MPlayer Team
CPU: Intel(R) Core(TM)2 CPU 6300 @ 1.86GHz
(Family: 6, Model: 15, Stepping: 6)
CPUflags: MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
Compiled with runtime CPU detection.
Can't open joystick device /dev/input/js0: No such file or
directory
Can't init input joystick
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use
your remote control.

Playing 2007-arm.flv.
libavformat file format detected.
[flv @ 0xa617b0]Unsupported video codec (6)
[flv @ 0xa617b0]Unsupported video codec (6)
[flv @ 0xa617b0]Unsupported video codec (6)
[flv @ 0xa617b0]Unsupported video codec (6)
[flv @ 0xa617b0]Unsupported video codec (6)
[flv @ 0xa617b0]Unsupported video codec (6)
[flv @ 0xa617b0]Unsupported video codec (6)
[flv @ 0xa617b0]Unsupported video codec (6)
[flv @ 0xa617b0]Unsupported video codec (6)
[flv @ 0xa617b0]Unsupported video codec (6)
[flv @ 0xa617b0]Unsupported video codec (6)
[flv @ 0xa617b0]Unsupported video codec (6)
[flv @ 0xa617b0]Could not find codec parameters (Video:
0x0006)
LAVF_header: av_find_stream_info() failed
libavformat file format detected.
[flv @ 0xa617b0]Unsupported video codec (6)
[flv @ 0xa617b0]Unsupported video codec (6)
[flv @ 0xa617b0]Unsupported video codec (6)
[flv @ 0xa617b0]Unsupported video codec (6)
[flv @ 0xa617b0]Unsupported video codec (6)
[flv @ 0xa617b0]Unsupported video codec (6)
[flv @ 0xa617b0]Unsupported video codec (6)
[flv @ 0xa617b0]Unsupported video codec (6)
[flv @ 0xa617b0]Unsupported video codec (6)
[flv @ 0xa617b0]Unsupported video codec (6)
[flv @ 0xa617b0]Unsupported video codec (6)
[flv @ 0xa617b0]Unsupported video codec (6)
[flv @ 0xa617b0]Could not find codec parameters (Video:
0x0006)
LAVF_header: av_find_stream_info() failed

Exiting... (End of file)

Change History (4)

comment:1 Changed 12 years ago by compn

what mencoder version are you using on x86? rc1 is getting old
i wonder if its already fixed in svn...

comment:2 Changed 12 years ago by reimar

FLV is not a fourcc-based container, so -ffourcc does not do what you expect at all, and that it works on x86 is pure coincidence. Unfortunately the code is not right to work without it either I guess. But try -ffourcc 2222 or -ffourcc 1111 or so.

comment:3 Changed 12 years ago by alesan@…

(In reply to comment #1)

what mencoder version are you using on x86? rc1 is getting old
i wonder if its already fixed in svn...

yes but on x86 works, I do not understand the point. You perhaps mena there's been a regression?

I will anyway compile and test the svn on x86 also.

comment:4 Changed 12 years ago by alesan@…

(In reply to comment #2)

FLV is not a fourcc-based container, so -ffourcc does not do what you expect at
all, and that it works on x86 is pure coincidence. Unfortunately the code is
not right to work without it either I guess. But try -ffourcc 2222 or -ffourcc
1111 or so.

I merely followed the instructions at:
http://www.entropyfarm.org/software/tricks/
do you know a better way to encode Flash Video clips? Thank you.

Anyway:
with -ffourcc FLV and -ffourcc 1111 the video does NOT work. With -ffourcc 2222 it seems to work with mplayer, even if the file size of the output file is different from the one made by a x86 PC:

x86-2222.flv 284872 bytes
arm-2222.flv 282072 bytes

Anyway, the arm-2222 version *won't* play on a online flash player. Any other idea?

thank you
Alessio

Note: See TracTickets for help on using tickets.