FFmpeg bug in ARM
Added by Bapak Ireng almost 8 years ago
Last sunday I compiled and installed with some support from the project, the latest version of tvheadend - without the ffmpeg option - on my arm-based cubietruck debian - system. After setting it up, it worked fine with my SATIP server and I did some testing including some recording. I recorded a two hour show, resulting in a 7.2 GB file at HD resolution, which is far too big to handle.
The tvheadend installtion - including ffmpeg - Version 4.0.9 on my intel-notebook will give for a two hours recording at HD qualitiy a file size of approx. 1.5 - 1.6 GB which is OK!
The question now arises: will there be any time frame - milestone - when the ffmpeg bug - as reported by project members - will be fixed ? Is there any estimate of how much effort it will cost to resolve this problem ?
i am looking forward to receiving your kind answers and proposal to fix the issue!
regards, Ireng
Replies (4)
RE: FFmpeg bug in ARM - Added by Mark Clarkstone almost 8 years ago
As it's an issue with the newer ffmpeg it's not something the dev(s) of tvheadend can resolve, only the ffmpeg guys can do that.
Scrap that - I was wrong, the fix seems rather easy, but for now use the patches/help from the following link
But it is possible to build using an older vision of ffmpeg. You can see info about that here #4059.
However, like I said previously in your last thread I don't think the cubietruck is going to be powerful enough to do cpu transcoding and I'm not sure of the hardware transcoding support state, but I suppose you can try.
FFmpeg bug in ARM - II - Added by Bapak Ireng almost 8 years ago
H Mark,
thanks again for your help and guidance. I will try sometimes during the upcoming weekend and will let you know!
During this week, I have no time and no patience at all to try the solution offered!
Since I use Cubietrucks aleady fo quite some time, I am pretty sure, that the system could handle the job of transcoding quite well!
Regards, Ireng
FFmpeg bug in ARM - III - Added by Bapak Ireng almost 8 years ago
I upgraded ffmpeg to the latest version and some related libs!
apt-get install ffmpeg libavdevice57 libavfilter6 libavformat57
At the end of the process i received the following message:
root:cubie5:/home/test-tv/tvheadend >./configure arch=ARM
Checking support/features
checking for cc execinfo.h ... ok
checking for cc -mmmx ... fail
checking for cc -msse2 ... fail
checking for cc -Wunused-result ... ok
checking for cc getloadavg ... ok
checking for cc atomic64 ... ok
checking for cc atomic_time_t ... ok
checking for cc bitops64 ... ok
checking for cc lockowner ... ok
checking for cc qsort_r ... ok
checking for cc stime ... ok
checking for cc gmtoff ... ok
checking for cc recvmmsg ... ok
checking for cc sendmmsg ... ok
checking for cc libiconv ... fail
checking for cc libdvben50221 ... ok
checking for cc ifnames ... ok
checking for py module gzip ... ok
checking for pkg-config ... ok
checking for xgettext ... ok
checking for msgmerge ... ok
checking for gzip ... ok
checking for bzip2 ... ok
checking for pkg openssl ... ok (detected 1.0.1t)
checking for cc linux/dvb/version.h ... ok
checking for pkg zlib ... ok (detected 1.2.8)
checking for pkg liburiparser ... ok (detected 0.8.0.1)
checking for pkg avahi-client ... ok (detected 0.6.31)
checking for cmake ... ok
checking for cc -lstdc++ ... ok
checking for cc nvEncodeAPI.h ... fail
checking for cc sys/inotify.h ... ok
fetching dvb-scan files ... ok
checking for pkg dbus-1 ... ok (detected 1.8.20)
Compiler:
Using C compiler: cc
Using LD flags: -ldvben50221 -ldvbapi -lucsi
Build for arch: ARM
Binaries:
Using PYTHON: python
Using GZIP: gzip
Using BZIP2: bzip2
Options:
pie yes
ccdebug no
cwc yes
capmt yes
constcw yes
linuxdvb yes
satip_server yes
satip_client yes
hdhomerun_client yes
hdhomerun_static yes
iptv yes
tsfile yes
dvbscan yes
timeshift yes
trace yes
imagecache yes
avahi yes
zlib yes
libav yes
ffmpeg_static yes
libx264 yes
libx264_static yes
libx265 yes
libx265_static yes
libvpx yes
libvpx_static yes
libtheora yes
libtheora_static yes
libvorbis yes
libvorbis_static yes
libfdkaac yes
libfdkaac_static yes
nvenc no
qsv no
libmfx_static no
inotify yes
epoll yes
uriparser yes
ccache no
tvhcsa yes
bundle no
dvbcsa no
dvben50221 yes
kqueue no
dbus_1 yes
android no
tsdebug no
gtimer_check no
slow_memoryinfo no
libsystemd_daemon no
bintray_cache yes
execinfo yes
W_unused_result yes
getloadavg yes
atomic64 yes
atomic_time_t yes
bitops64 yes
lockowner yes
qsort_r yes
stime yes
gmtoff yes
recvmmsg yes
sendmmsg yes
libdvben50221 yes
ifnames yes
py_gzip yes
bin_pkg_config yes
bin_xgettext yes
bin_msgmerge yes
bin_gzip yes
bin_bzip2 yes
ssl yes
linuxdvbapi yes
upnp yes
bin_cmake yes
stdcpp yes
libogg_static yes
inotify_h yes
linuxdvb_ca yes
mpegts yes
mpegts_dvb yes
Packages:
openssl 1.0.1t
zlib 1.2.8
liburiparser 0.8.0.1
avahi-client 0.6.31
dbus-1 1.8.20
Installation paths:
Prefix: /usr/local
Binaries: ${prefix}/bin
Libraries: ${prefix}/lib
Data files: ${prefix}/share
Man pages: ${datadir}/man
Final Binary:
/home/test-tv/tvheadend/build.linux/tvheadend
Tvheadend Data Directory:
/usr/local/share/tvheadend
root:cubie5:/home/test-tv/tvheadend >make
make -f Makefile.webui LANGUAGES="ach ady ar bg cs da de en_US en_GB es et fa fi fr he hr he hr hu it ko lv nl no pl pt ro ru sl sk sq sv tr uk zh zh-Hans" all
make1: Entering directory '/home/test-tv/tvheadend'
make -f Makefile.webui WEBUI=std compile-std
make2: Entering directory '/home/test-tv/tvheadend'
WEBUI std finished
make2: Leaving directory '/home/test-tv/tvheadend'
make -f Makefile.webui WEBUI=debug compile-debug
make2: Entering directory '/home/test-tv/tvheadend'
WEBUI debug finished
make2: Leaving directory '/home/test-tv/tvheadend'
make1: Leaving directory '/home/test-tv/tvheadend'
CC src/uuid.o
CC src/main.o
CC src/tvhlog.o
CC src/idnode.o
CC src/prop.o
CC src/utils.o
CC src/wrappers.o
CC src/access.o
CC src/tcp.o
CC src/udp.o
CC src/url.o
CC src/http.o
CC src/notify.o
CC src/file.o
CC src/epg.o
CC src/epgdb.o
CC src/epggrab.o
CC src/spawn.o
CC src/packet.o
CC src/streaming.o
CC src/channels.o
CC src/subscriptions.o
CC src/service.o
CC src/htsp_server.o
CC src/htsmsg.o
CC src/htsmsg_binary.o
CC src/htsmsg_json.o
CC src/htsmsg_xml.o
CC src/misc/json.o
CC src/misc/m3u.o
CC src/settings.o
CC src/htsbuf.o
CC src/trap.o
CC src/tvhpoll.o
CC src/huffman.o
CC src/filebundle.o
CC src/config.o
CC src/lang_codes.o
CC src/lang_str.o
CC src/imagecache.o
CC src/tvhtime.o
CC src/service_mapper.o
CC src/input.o
CC src/httpc.o
CC src/rtsp.o
CC src/download.o
CC src/fsmonitor.o
CC src/cron.o
CC src/esfilter.o
CC src/intlconv.o
CC src/profile.o
CC src/bouquet.o
CC src/lock.o
CC src/wizard.o
CC src/memoryinfo.o
CC src/api.o
CC src/api/api_config.o
CC src/api/api_status.o
CC src/api/api_idnode.o
CC src/api/api_input.o
CC src/api/api_channel.o
CC src/api/api_service.o
CC src/api/api_mpegts.o
CC src/api/api_epg.o
CC src/api/api_epggrab.o
CC src/api/api_imagecache.o
CC src/api/api_esfilter.o
CC src/api/api_intlconv.o
CC src/api/api_access.o
CC src/api/api_dvr.o
CC src/api/api_caclient.o
CC src/api/api_profile.o
CC src/api/api_bouquet.o
CC src/api/api_language.o
CC src/api/api_satip.o
CC src/api/api_timeshift.o
CC src/api/api_wizard.o
CC src/parsers/parsers.o
CC src/parsers/parser_h264.o
CC src/parsers/parser_hevc.o
CC src/parsers/parser_latm.o
CC src/parsers/parser_avc.o
CC src/parsers/parser_teletext.o
CC src/epggrab/module.o
CC src/epggrab/channel.o
CC src/epggrab/module/pyepg.o
CC src/epggrab/module/xmltv.o
CC src/plumbing/tsfix.o
CC src/plumbing/globalheaders.o
CC src/dvr/dvr_db.o
CC src/dvr/dvr_rec.o
CC src/dvr/dvr_autorec.o
CC src/dvr/dvr_timerec.o
CC src/dvr/dvr_vfsmgr.o
CC src/dvr/dvr_config.o
CC src/dvr/dvr_cutpoints.o
CC src/webui/webui.o
CC src/webui/comet.o
CC src/webui/extjs.o
CC src/webui/simpleui.o
CC src/webui/statedump.o
CC src/webui/html.o
CC src/webui/webui_api.o
CC src/webui/xmltv.o
CC src/webui/doc_md.o
CC src/muxer.o
CC src/muxer/muxer_pass.o
CC src/muxer/muxer_mkv.o
CC src/muxer/muxer_audioes.o
CC src/zlib.o
CC src/upnp.o
CC src/satip/server.o
CC src/satip/rtsp.o
CC src/satip/rtp.o
CC src/descrambler/descrambler.o
CC src/descrambler/caclient.o
CC src/descrambler/caid.o
CC src/input/mpegts.o
CC src/input/mpegts/mpegts_pid.o
CC src/input/mpegts/mpegts_input.o
CC src/input/mpegts/tsdemux.o
CC src/input/mpegts/dvb_psi_lib.o
CC src/input/mpegts/mpegts_network.o
CC src/input/mpegts/mpegts_mux.o
CC src/input/mpegts/mpegts_service.o
CC src/input/mpegts/mpegts_table.o
CC src/input/mpegts/dvb_support.o
CC src/input/mpegts/dvb_charset.o
CC src/input/mpegts/dvb_psi.o
CC src/input/mpegts/fastscan.o
CC src/input/mpegts/mpegts_mux_sched.o
CC src/input/mpegts/mpegts_network_scan.o
CC src/input/mpegts/mpegts_network_dvb.o
CC src/input/mpegts/mpegts_mux_dvb.o
CC src/input/mpegts/scanfile.o
CC src/epggrab/otamux.o
CC src/epggrab/module/eit.o
CC src/epggrab/module/psip.o
CC src/epggrab/support/freesat_huffman.o
CC src/epggrab/module/opentv.o
CC src/input/mpegts/linuxdvb/linuxdvb.o
CC src/input/mpegts/linuxdvb/linuxdvb_adapter.o
CC src/input/mpegts/linuxdvb/linuxdvb_frontend.o
CC src/input/mpegts/linuxdvb/linuxdvb_satconf.o
CC src/input/mpegts/linuxdvb/linuxdvb_lnb.o
CC src/input/mpegts/linuxdvb/linuxdvb_switch.o
CC src/input/mpegts/linuxdvb/linuxdvb_rotor.o
CC src/input/mpegts/linuxdvb/linuxdvb_en50494.o
CC src/input/mpegts/satip/satip.o
CC src/input/mpegts/satip/satip_frontend.o
CC src/input/mpegts/satip/satip_satconf.o
CC src/input/mpegts/satip/satip_rtsp.o
CC src/input/mpegts/tvhdhomerun/tvhdhomerun.o
CC src/input/mpegts/tvhdhomerun/tvhdhomerun_frontend.o
CC src/input/mpegts/iptv/iptv.o
CC src/input/mpegts/iptv/iptv_mux.o
CC src/input/mpegts/iptv/iptv_service.o
CC src/input/mpegts/iptv/iptv_http.o
CC src/input/mpegts/iptv/iptv_udp.o
CC src/input/mpegts/iptv/iptv_rtsp.o
CC src/input/mpegts/iptv/iptv_rtcp.o
CC src/input/mpegts/iptv/iptv_pipe.o
CC src/input/mpegts/iptv/iptv_file.o
CC src/input/mpegts/iptv/iptv_auto.o
CC src/input/mpegts/tsfile/tsfile.o
CC src/input/mpegts/tsfile/tsfile_input.o
CC src/input/mpegts/tsfile/tsfile_mux.o
CC src/timeshift.o
CC src/timeshift/timeshift_filemgr.o
CC src/timeshift/timeshift_writer.o
CC src/timeshift/timeshift_reader.o
CC src/dvr/dvr_inotify.o
CC src/avahi.o
CC src/libav.o
CC src/muxer/muxer_libav.o
CC src/plumbing/transcoding.o
CC src/descrambler/tvhcsa.o
CC src/descrambler/cwc.o
CC src/descrambler/emm_reass.o
CC src/descrambler/capmt.o
CC src/descrambler/constcw.o
CC src/input/mpegts/linuxdvb/linuxdvb_ca.o
CC src/descrambler/dvbcam.o
CC src/descrambler/ffdecsa/ffdecsa_interface.o
CC src/descrambler/libaesdec/libaesdec.o
CC src/dbus.o
CC build.o
CC timestamp.o
CC tvheadend
cc: error: /home/test-tv/tvheadend/build.linux/ffmpeg/build/ffmpeg/lib/libvpx.a: No such file or directory
Makefile:623: recipe for target '/home/test-tv/tvheadend/build.linux/tvheadend' failed
make: *** [/home/test-tv/tvheadend/build.linux/tvheadend] Error 1
I think I am now closer to reality.....then before, but still haven't arrived yet ! :-)
Regards, ireng
P. some additional information:
apt-cache search libvpx
libvpx-dev - VP8 and VP9 video codec (development files)
libvpx-doc - VP8 and VP9 video codec (API documentation)
libvpx1 - VP8 and VP9 video codec (shared library)
libvpx1-dbg - VP8 and VP9 video codec (debugging symbols)
python-webm - Python interface to the Google WebM video/image codec
libvpx4 - VP8 and VP9 video codec (shared library)
root:cubie5:~ >apt-get install libvpx-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
libvpx-dev is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
apt-get install libvpx-dev libvpx1 libvpx4
Reading package lists... Done
Building dependency tree
Reading state information... Done
libvpx-dev is already the newest version.
libvpx1 is already the newest version.
libvpx1 set to manually installed.
libvpx4 is already the newest version.
RE: FFmpeg bug in ARM - Added by Chef Denker almost 8 years ago
Hi Ireng,
i have the same issue on my bananapi.
I add --disable-libvpx to the ./configure line to get it compile. If you not need vpx, this should work.
regards