Crash on copy-saving part of video encoded by Avidemux (mpeg4-asp(xvid)/mp3/mkv)

Started by tuharsky, February 12, 2012, 05:40:12 PM

Previous topic - Next topic

tuharsky

I have encoded some videos using Avidemux 2.5.4 (Debian multimedia version): MPEG4 ASP (XviD), MP3, MKV. Now I open the file in Avidemux (same version again), set AB markers and try to save a part of video, i.e. from frame 0 to 2000. Audio and video are set to COPY and container to MKV. The save ends up with error. It seems that during saving it reaches some "no-go" point that it cannot cope with.

Can I post a sample file somewhere (100MB)?

nibbles

You might try 2.5.6 if there's a tarball for your OS.
You can upload to Rapidshare, but maybe 25MB is probably easier.
Gist a copy of your log, the whole thing from when you start avidemux through the error.

tuharsky

I couldn't compile the 2.5.6 version. The process ends up with error on 97%. Is there any howto in order to get a log?

Jan Gruuthuse

log: copy paste fult terminal output <-click
On what flavor of Linux are you trying to compile? Perhaps a dependency did not install? Check these individually:
sudo apt-get install build-essential
sudo apt-get install cmake
sudo apt-get install fakeroot
sudo apt-get install gcc
sudo apt-get install g++
sudo apt-get install gettext
sudo apt-get install liba52-0.7.4
sudo apt-get install liba52-0.7.4-dev
sudo apt-get install libasound2-dev
sudo apt-get install libarts1-dev
sudo apt-get install libfaac-dev
sudo apt-get install libfaad-dev
sudo apt-get install libgtk2.0-dev
sudo apt-get install libglib2.0-dev
sudo apt-get install libmad0-dev
sudo apt-get install libpng12-dev
sudo apt-get install libqt4-dev
sudo apt-get install libqt4-opengl
sudo apt-get install libqt4-opengl-dev
sudo apt-get install libvorbis-dev
sudo apt-get install libx264-dev
sudo apt-get install libxv-dev
sudo apt-get install libxml2-dev
sudo apt-get install libxvidcore-dev
sudo apt-get install make
sudo apt-get install pkg-config
sudo apt-get install subversion
sudo apt-get install yasm

Unless you use KDE 3 with aRts, you don't need libarts (libarts1-dev). It's obsolete (and therefore not available in the default repositories anymore).
sudo apt-get install libarts1-dev

tuharsky

I use Debian Squeeze with enabled repositories debian-multimedia. Everything is installed, here is the output from compilation.

Jan Gruuthuse

Complains of missing files?
Quotegcc: ffmpeg.o: Adresár alebo súbor neexistuje
gcc: cmdutils.o: Adresár alebo súbor neexistuje

Quote[ 94%] Building CXX object avidemux/ADM_UIs/ADM_QT4/src/CMakeFiles/ADM_UIQT4.dir/FAC_frame.cpp.o
ADM_infoExtractor/libADM_infoExtractor_cli.a(ADM_infoextractor_h264.cpp.o): In function `get_se_golomb':
ADM_infoextractor_h264.cpp:(.text+0x347): undefined reference to `ff_se_golomb_vlc_code'
collect2: ld returned 1 exit status
make[2]: *** [avidemux/avidemux2_cli] Error 1
make[1]: *** [avidemux/CMakeFiles/avidemux2_cli.dir/all] Error 2
If you used tarball 2.5.6 Can you use this svn? svn co svn://svn.berlios.de/avidemux/branches/avidemux_2.5_branch_gruntster/
This  is the latest source, perhaps issues have gone in this version?


nibbles

A few of things come to mind.  First is what compiler are you using?  I think I saw gcc.  If so please tell me what it says:

gcc --version

Next, we can get a lot more info out of CMake if we build verbosely.  Please change this line in bootStrap.sh

cmake -DCMAKE_INSTALL_PREFIX=$PREFIX -DAVIDEMUX_INSTALL_PREFIX=$PREFIX .. || fail cmake

to read this

cmake -DCMAKE_VERBOSE_MAKEFILE=true -DCMAKE_INSTALL_PREFIX=$PREFIX -DAVIDEMUX_INSTALL_PREFIX=$PREFIX .. || fail cmake

Also, ffmpeg has been known to be twitchy when you compile in parallel.  Please change this line in bootStrap.sh

make -j 3 || fail make_main

to read this:

make -j 1 || fail make_main

Do a clean extract and build like you did before.  When you want to show us what happened, please do not attach your log file.  Please paste your logfile into a gist or pastebin, and put the URL to it in your reply.  That makes your issue searchable on google, makes it easy to see if someone doesn't have a login here, and conforms to forum standards where attachments are discouraged due to security issues.  Not to be a jerk, but I'm getting tired of those things.

Jan Gruuthuse

Thanks for stepping in nibbles. Is this making a difference? Building as user with sudo or as SU?

tuharsky:
Quoteroot@bluetux:/usr/src/avidemux_2.5_branch_gruntster# ./bootStrap.sh
* Avidemux simple build script *
* Need sudo to install libs *
* Building Main *

Jan Gruuthuse:
Quotejan@DH67BL:~/avidemux_2.5_branch_gruntster$ sudo ./bootStrap.sh
* Avidemux simple build script *
* Need sudo to install libs *
* Building Main *

tuharsky


nibbles

@Jan that is just reminder message that gets echo to your screen, in case you are like most people and your system dirs are not writeable.

@tuharsky - The file that is failing to compile or work right, ADM_infoExtractor_h264.cpp, gets built into libADM_infoExtractor_cli.a.
It contains an undefined reference.  So let's go back up the config log and find that file, when it is compiled into that lib.
There we can see what is happening, if all the -I/include/stuff/is/there or not, or whatever.

Here's a gist of when ADM_infoExtractor_h264.cpp is compiled.

It says MALLOC.H and MANGLE are redefined.  That's probably not good.  Can anybody confirm?  Other chaos ensues.

Jan Gruuthuse

uploaded the same part for ADM_infoextractor_h264.cpp.o git://gist.github.com/1922572.git
after successful compilation Ubuntu 11.10 64-bit on Intel cpu: *  All Done  *
warning: "HAVE_MALLOC_H" redefined [enabled by default]
warning: "MANGLE" redefined [enabled by default]

tuharsky

@nibbles Please, give me a more verbose hint on what to do. I'm not a programmer.  ???

nibbles

I was wrong, those are just warning, as Jan pointed out.  Searching the net for ff_se_golomb_vlc_code, it turns out there's already a thread here that Jan was on (heh).  It's over here:  http://www.avidemux.org/smf/index.php?topic=10204.0

It looks like we'll have to add an object file to the executable.  Easy enough.  Let met check on it here....

nibbles

The avidemux2_cli is linking against this:

ADM_libraries/ffmpeg/libavcodec/libADM5avcodec.so.53

but to see how libavcodec is being built, we need to build ffmpeg verbosely.  Mean was able to get 2.6 to build verbosely, but I can't so far.  I'm working on it.  I want to see if libavcodec is being built against golomb.o.  It is on 2.6 on my machine.  But that's not helpful really.  Ok that's it for now.  (I tried to use  /usr/bin/make V=1 VERBOSE=1 for the make command to ffmpeg, but no joy).