AVC3

Black Hole

May contain traces of nut
Anybody know how to deal with this? It's in a youtube-dl download from iPlayer. Splash and VLC only play the AAC audio. VRD complains it can't find a video stream.
 
Where from, exactly?
Rick Stein's Long Weekends, but the episode in question is no longer available.

What does ffprobe make of it?
Code:
G:\Downloads\youtube-dl>ffprobe "Rick Stein's Long Weekends - Vienna.mp4"
ffprobe version N-92730-g978c935f2f Copyright (c) 2007-2018 the FFmpeg developers
  built with gcc 8.2.1 (GCC) 20181201
  configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enabl
e-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amr
wb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enab
le-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --
enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc -
-enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --e
nable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt
  libavutil      56. 24.101 / 56. 24.101
  libavcodec     58. 42.103 / 58. 42.103
  libavformat    58. 24.101 / 58. 24.101
  libavdevice    58.  6.101 / 58.  6.101
  libavfilter     7. 46.101 /  7. 46.101
  libswscale      5.  4.100 /  5.  4.100
  libswresample   3.  4.100 /  3.  4.100
  libpostproc    55.  4.100 / 55.  4.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Rick Stein's Long Weekends - Vienna.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf58.24.101
  Duration: 00:59:05.00, start: 0.000000, bitrate: 5132 kb/s
    Stream #0:0(und): Video: h264 (High) (avc3 / 0x33637661), yuv420p(tv, bt709), 1280x720 [SAR 1:1 DAR 16:9], 4999 kb/s
, 50 fps, 50 tbr, 50k tbn, 100 tbc (default)
    Metadata:
      handler_name    : USP Video Handler
    Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 125 kb/s (default)
    Metadata:
      handler_name    : USP Sound Handler

Not really, I don't understand what it's telling me.

What is AVC3? If it's a flavour of H.264, why won't anything play it? Maybe it's an easy tweak to make it just plain AVC???
 
I found this in some text about youtube-dl use with iPlayer:

many of the available streams use the new avc3 codec, which only Windows 10 can play, so if you use Windows 7 you will instead prefer to have a file containing a stream which has the avc1 codec

...but it doesn't say how to deal with an existing download in avc3! I have to say I looked at the formats on offer and they didn't make as much sense as usual, I was unable to identify a suitable one so just got the best (2.1GB at my download speeds!).
 
I have speculatively started a ffmpeg process ffmpeg -i input.mp4 output.mp4 (just guessing) which appears to be asking for a simple copy but seems to have started a process to output avc1 (rather than avc3). It's going to take a few hours...

Code:
G:\Downloads\youtube-dl>ffmpeg -i "Rick Stein's Long Weekends - Vienna.mp4" vienna.mp4
<snip>
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Rick Stein's Long Weekends - Vienna.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf58.24.101
  Duration: 00:59:05.00, start: 0.000000, bitrate: 5132 kb/s
    Stream #0:0(und): Video: h264 (High) (avc3 / 0x33637661), yuv420p(tv, bt709), 1280x720 [SAR 1:1 DAR 16:9], 4999 kb/s
, 50 fps, 50 tbr, 50k tbn, 100 tbc (default)
    Metadata:
      handler_name    : USP Video Handler
    Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 125 kb/s (default)
    Metadata:
      handler_name    : USP Sound Handler
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
  Stream #0:1 -> #0:1 (aac (native) -> aac (native))
Press [q] to stop, [?] for help
[libx264 @ 000000000018c980] using SAR=1/1
[libx264 @ 000000000018c980] using cpu capabilities: MMX2 SSE2Fast SSSE3 Cache64
[libx264 @ 000000000018c980] profile High, level 3.2, 4:2:0, 8-bit
[libx264 @ 000000000018c980] 264 - core 157 r2935 545de2f - H.264/MPEG-4 AVC codec - Copyleft 2003-2018 - http://www.vid
eolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed
_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=3 lookah
ead_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_lookahe
ad=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'vienna.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf58.24.101
    Stream #0:0(und): Video: h264 (libx264) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=-1--1, 50 fps,
12800 tbn, 50 tbc (default)
    Metadata:
      handler_name    : USP Video Handler
      encoder         : Lavc58.42.103 libx264
    Side data:
      cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
    Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)
    Metadata:
      handler_name    : USP Sound Handler
      encoder         : Lavc58.42.103 aac
frame= 2820 fps=9.6 q=31.0 size=   13568kB time=00:00:56.40 bitrate=1970.5kbits/s speed=0.193x
 
You could try using ffmpeg to remux and change the tag. I don't know if this will be enough to make it playable, but it should be quick:
Code:
ffmpeg -i "In.mp4" -map 0 -c copy -tag:v avc1 "Out.mp4"
EDIT. The link in post #2 suggests the same tag command as above, I didn't notice this earlier.
 
Last edited:
Out of interest (sad, I know) I tried to download an AVC3 stream. On iPlayer, the Rick Stein episode you downloaded was no longer available (as you said above), so I picked another one and listed the available streams (--list-formats): all them were AVC1. I copied the iPlayer URL on Android (Chrome). Does iPlayer provide a different address depending on the OS you are using?
 
No idea. I don't know about youtube-dl --list-formats either, all I used was youtube-dl -F – is that a synonym?

It's a one-off for me, I went out of my way to obtain something for a friend (using a significant proportion of my monthly cap, although I have to say it didn't take as long to download as I feared), and was most annoyed to find it wouldn't play on the telly even though I ended up with an MP4. From what I recall (it was a week ago or more), the -F list didn't have any format numbers listed, so I couldn't simply specify youtube-dl -f 30 <url> (for example), and the friend has a big telly and good eyes so HiDef is worth it, so I defaulted to just taking the unfiltered (best) download (I don't remember whether I had to remux it to MP4 - I might have done).

Your tag change trick works for my telly, so it's a useful tool to have on hand should the same circumstances arise again... and that's good enough for me!
 
That's as may be, but where did you tell me it was just the tag that needed to be changed?

Thanks for trying to help, but there was some vital info omitted.
 
Back
Top