Project

General

Profile

DVR Error. "libav: No URL Protocols are registered. Missing call to av_register_all()?"

Added by Adam Bollinger about 11 years ago

Whenever I try to record I get the following:

2014-12-29 23:29:37.998 libav: No URL Protocols are registered. Missing call to av_register_all()?
2014-12-29 23:29:37.998 libav: Could not open /home/hts/608 AMCHD-Breaking Bad.E29.ts
2014-12-29 23:29:37.998 dvr: Recording error: "/home/hts/608 AMCHD-Breaking Bad.E29.ts": Unable to open file

I assume I need to register URL protocols? If this is the case does anyone know how to do this?

I appreciate your help and patience, I am fairly new to this.


Replies (5)

RE: DVR Error. "libav: No URL Protocols are registered. Missing call to av_register_all()?" - Added by Prof Yaffle about 11 years ago

I've never seen that before... and no, you don't have to explicitly register any protocols, so that message is a symptom of something else.

Let's start with some basics - what platform? How did you install (repo or DIY)? Have you set up any stream filters or anything like that, or is this a vanilla installation?

Have you defined a target directory for the recordings, or is this picking up a default - /home/hts is an odd location for recordings to land in. And what permissions do you have on that target directory?

You can also look in syslog to see what that says as you start to record, or switch on debugging (web interface, arrows in bottom right, cogs when the panel opens up) and see what's said there as recordings kick in.

RE: DVR Error. "libav: No URL Protocols are registered. Missing call to av_register_all()?" - Added by Adam Bollinger about 11 years ago

I'm running 3.9.2285~gc6793b3. I built it myself so that I could enable transcoding. The following are all of the commands I used.

apt-get install build-essential pkg-config libssl-dev git

(Not entirely sure this was necessary)
apt-get install libavahi-client-dev libavcodec-dev libavfilter-dev libavformat-dev libavutil-dev libswscale-dev libavcodec-extra-53 liburiparser1 liburiparser-dev debhelper libcurl4-gnutls-dev a52dec

git clone https://github.com/tvheadend/tvheadend.git

apt-get install debhelper
apt-get install libavahi-client-dev
apt-get install libcurl4-gnutls-dev
apt-get install liburiparser-dev

AUTOBUILD_CONFIGURE_EXTRA=--enable-libffmpeg_static ./Autobuild.sh -t precise-amd64

dpkg –i PACKAGENAME

I haven't set up any stream filters but I did add a couple custom stream pofiles... This wouldn't effect anything would it? I was originally trying to record to a network share and I got the same error. I can't remember for sure, but I think I tested recording right after I configured all of my channels and I thought it worked? Maybe changing the record directory to a mounted network drive messed something up? The network drive was mounted in /media as /media/recordings/. The permissions on the network share are configured to allow read and write access to any user and the /home/hts/ folder is default. I changed the recordings directory to /home/hts/ because I thought it was the defualt.

I turned on debug and when I record I get another error but it seems unrelated...

2014-12-30 22:08:20.634 dvr: entry 1135f2ed396a3c97d9ae6fa4ece84111 "2014 Wimbledon Championships" on "309 TENNIS" starting at 2014-12-30 18:59:30, scheduled for recording by "Adam"
2014-12-30 22:08:20.634 dvr: "2014 Wimbledon Championships" on "309 TENNIS" recorder starting
2014-12-30 22:08:20.635 mpegts: 239.255.7.109 in iTV-3 IPTV - tuning on IPTV
2014-12-30 22:08:20.635 subscription: 014E: "DVR: 2014 Wimbledon Championships" subscribing on "309 TENNIS", weight: 300, adapter: "IPTV", network: "iTV-3 IPTV", mux: "239.255.7.109", provider: "", service: ""
2014-12-30 22:08:20.753 transcode: 000B: 1:H264 1920x1088 > MPEG2VIDEO 848x480 (mpeg2video)
2014-12-30 22:08:20.754 transcode: 000B: 2:AC3 > MPEG2AUDIO (mp2)
2014-12-30 22:08:21.112 libav: mmco: unref short failure
2014-12-30 22:08:21.143 libav: mmco: unref short failure
2014-12-30 22:08:21.143 libav: Increasing reorder buffer to 1
2014-12-30 22:08:21.174 libav: Increasing reorder buffer to 2
2014-12-30 22:08:21.253 libav: mmco: unref short failure
2014-12-30 22:08:21.786 libav: No URL Protocols are registered. Missing call to av_register_all()?
2014-12-30 22:08:21.786 libav: Could not open /home/adam/Downloads/309 TENNIS-2014 Wimbledon Championships.E03.ts
2014-12-30 22:08:21.786 dvr: Recording error: "/home/adam/Downloads/309 TENNIS-2014 Wimbledon Championships.E03.ts": Unable to open file

RE: DVR Error. "libav: No URL Protocols are registered. Missing call to av_register_all()?" - Added by Prof Yaffle about 11 years ago

Hmmm. Could genuinely be a bug, in which case we'd need perexg to cast an opinion. Your installation looks fine.

Can you record OTA (vs IPTV)?

Can you record without transcoding?

RE: DVR Error. "libav: No URL Protocols are registered. Missing call to av_register_all()?" - Added by Adam Bollinger about 11 years ago

Okay I've done some testing and I've found that I can record just fine without transcoding. I figured that I messed something up during the installation so I rebuilt TVHeadend on a new VM and restored my config and still have the same issue. Does TVHeadend require another component to record transcoded streams that I didn't install? Also, I don't have OTA set up so I can't test it.

RE: DVR Error. "libav: No URL Protocols are registered. Missing call to av_register_all()?" - Added by Prof Yaffle about 11 years ago

From what I can find, this would appear to be coming from the static ffmpeg compilation step. Given the complaint, you should be able to cd to $SOURCE/libav_static/ffmpeg-2.4.2 and use ./configure --list-protocols to see what URL protocols are registered.

Almost irrespective of what that produces, all I can suggest is deleting the downloaded ffmpeg (.gz, source and object files) and thus forcing a complete rebuild of this piece. And if that doesn't work, file a bug, as something's not right..

    (1-5/5)