[FFmpeg-trac] #1291(avformat:closed): The custom user-agent option is ignored after the initial connection when using HTTP Live Streaming (HLS)

FFmpeg trac at avcodec.org
Fri Feb 17 18:05:37 EET 2017


#1291: The  custom user-agent option is ignored after the initial connection when
using HTTP Live Streaming (HLS)
------------------------------------+------------------------------------
             Reporter:  xnp         |                    Owner:
                 Type:  defect      |                   Status:  closed
             Priority:  normal      |                Component:  avformat
              Version:  git-master  |               Resolution:  fixed
             Keywords:  hls         |               Blocked By:
             Blocking:              |  Reproduced by developer:  0
Analyzed by developer:  0           |
------------------------------------+------------------------------------
Changes (by stevenliu):

 * status:  reopened => closed
 * resolution:   => fixed


Comment:

 New version has fixed this problem:



 {{{
 localhost:commit StevenLiu$ ffmpeg -v trace -user-agent "Steven Liu" -i
 "http://devimages.apple.com/iphone/samples/bipbop/gear1/prog_index.m3u8"
 ffmpeg version N-82254-g75a1311 Copyright (c) 2000-2016 the FFmpeg
 developers
   built with Apple LLVM version 8.0.0 (clang-800.0.42.1)
   configuration: --enable-libass --enable-opengl --enable-libx264
 --enable-libmp3lame --enable-gpl --enable-nonfree --prefix=/usr/local
 --enable-libopencv --enable-libtesseract --enable-libspeex --enable-
 libfreetype --enable-libfontconfig --enable-libfdk-aac
   libavutil      55. 35.100 / 55. 35.100
   libavcodec     57. 66.101 / 57. 66.101
   libavformat    57. 57.100 / 57. 57.100
   libavdevice    57.  2.100 / 57.  2.100
   libavfilter     6. 66.100 /  6. 66.100
   libswscale      4.  3.100 /  4.  3.100
   libswresample   2.  4.100 /  2.  4.100
   libpostproc    54.  2.100 / 54.  2.100
 Splitting the commandline.
 Reading option '-v' ... matched as option 'v' (set logging level) with
 argument 'trace'.
 Reading option '-user-agent' ... matched as AVOption 'user-agent' with
 argument 'Steven Liu'.
 Reading option '-i' ... matched as input file with argument
 'http://devimages.apple.com/iphone/samples/bipbop/gear1/prog_index.m3u8'.
 Finished splitting the commandline.
 Parsing a group of options: global .
 Applying option v (set logging level) with argument trace.
 Successfully parsed a group of options.
 Parsing a group of options: input file
 http://devimages.apple.com/iphone/samples/bipbop/gear1/prog_index.m3u8.
 Successfully parsed a group of options.
 Opening an input file:
 http://devimages.apple.com/iphone/samples/bipbop/gear1/prog_index.m3u8.
 [http @ 0x7fa75a8030c0] Setting default whitelist
 'http,https,tls,rtp,tcp,udp,crypto,httpproxy'
 [http @ 0x7fa75a006800] the user-agent option is deprecated, please use
 user_agent option
 [http @ 0x7fa75a8030c0] request: GET
 /iphone/samples/bipbop/gear1/prog_index.m3u8 HTTP/1.1
 User-Agent: Steven Liu
 Accept: */*
 Range: bytes=0-
 Connection: close
 Host: devimages.apple.com
 Icy-MetaData: 1


 [http @ 0x7fa75a8030c0] header='HTTP/1.1 206 Partial Content'
 [http @ 0x7fa75a8030c0] http_code=206
 [http @ 0x7fa75a8030c0] header='Server: Apache'
 [http @ 0x7fa75a8030c0] header='ETag:
 "50117c8233644c19b5ab49551b72507f:1239907352"'
 [http @ 0x7fa75a8030c0] header='Last-Modified: Thu, 16 Apr 2009 18:42:32
 GMT'
 [http @ 0x7fa75a8030c0] header='Accept-Ranges: bytes'
 [http @ 0x7fa75a8030c0] header='Content-Type: audio/x-mpegurl'
 [http @ 0x7fa75a8030c0] header='Date: Fri, 17 Feb 2017 16:01:10 GMT'
 [http @ 0x7fa75a8030c0] header='Content-Range: bytes 0-7018/7019'
 [http @ 0x7fa75a8030c0] header='Content-Length: 7019'
 [http @ 0x7fa75a8030c0] header='Connection: close'
 [http @ 0x7fa75a8030c0] header=''
 Probing hls,applehttp score:100 size:2048
 [hls,applehttp @ 0x7fa75a006200] Format hls,applehttp probed with
 size=2048 and score=100
 [hls,applehttp @ 0x7fa75a006200] new_program: id=0x0000
 [hls,applehttp @ 0x7fa75a006200] HLS request for url
 'http://devimages.apple.com/iphone/samples/bipbop/gear1/fileSequence0.ts',
 offset 0, playlist 0
 [http @ 0x7fa75980ac00] the user-agent option is deprecated, please use
 user_agent option
 [http @ 0x7fa758c13280] request: GET
 /iphone/samples/bipbop/gear1/fileSequence0.ts HTTP/1.1
 User-Agent: Steven Liu
 Accept: */*
 Connection: close
 Host: devimages.apple.com
 Icy-MetaData: 1


 [http @ 0x7fa758c13280] header='HTTP/1.1 200 OK'
 [http @ 0x7fa758c13280] http_code=200
 [http @ 0x7fa758c13280] header='Server: Apache'
 [http @ 0x7fa758c13280] header='ETag:
 "90e466ad7f45ea3bd52732124f1fa675:1239907291"'
 [http @ 0x7fa758c13280] header='Last-Modified: Thu, 16 Apr 2009 18:41:31
 GMT'
 [http @ 0x7fa758c13280] header='Accept-Ranges: bytes'
 [http @ 0x7fa758c13280] header='Content-Length: 250228'
 [http @ 0x7fa758c13280] header='Content-Type: video/mp2t'
 [http @ 0x7fa758c13280] header='Date: Fri, 17 Feb 2017 16:01:11 GMT'
 [http @ 0x7fa758c13280] header='Connection: close'
 [http @ 0x7fa758c13280] header=''
 Probing mp3 score:1 size:2048
 Probing mpegts score:50 size:2048
 Format mpegts probed with size=2048 and score=50
 score: 44, dvhs_score: -3, fec_score: -3
 [mpegts @ 0x7fa759801000] Filter: pid=0x11 type=1
 [mpegts @ 0x7fa759801000] Filter: pid=0x0 type=1
 [mpegts @ 0x7fa759801000] PAT:
 [mpegts @ 0x7fa759801000] sid=0x1 pid=0x100
 [mpegts @ 0x7fa759801000] new_program: id=0x0001
 [mpegts @ 0x7fa759801000] Filter: pid=0x100 type=1
 [mpegts @ 0x7fa759801000] PMT: len 26
 [mpegts @ 0x7fa759801000] sid=0x1 sec_num=0/0 version=0 tid=2
 [mpegts @ 0x7fa759801000] pcr_pid=0x102
 [mpegts @ 0x7fa759801000] Filter: pid=0x101 type=0
 [mpegts @ 0x7fa759801000] stream=0 stream_type=f pid=101 prog_reg_desc=
 [mpegts @ 0x7fa759801000] Filter: pid=0x102 type=0
 [mpegts @ 0x7fa759801000] stream=1 stream_type=1b pid=102 prog_reg_desc=
 [mpegts @ 0x7fa759801000] tuning done
 [hls,applehttp @ 0x7fa75a006200] Before avformat_find_stream_info() pos:
 7019 bytes read:7019 seeks:0 nb_streams:2
 [mpegts @ 0x7fa759801000] Skipping after seek
 [mpegts @ 0x7fa759801000] PAT:
 [mpegts @ 0x7fa759801000] sid=0x1 pid=0x100
 [mpegts @ 0x7fa759801000] new_program: id=0x0001
 [mpegts @ 0x7fa759801000] PMT: len 26
 [mpegts @ 0x7fa759801000] sid=0x1 sec_num=0/0 version=0 tid=2
 [mpegts @ 0x7fa759801000] pcr_pid=0x102
 [mpegts @ 0x7fa759801000] All programs have pmt, headers found
 [mpegts @ 0x7fa759801000] pid=102 pes_code=0x1e0
 [mpegts @ 0x7fa759801000] pid=101 pes_code=0x1c0
     Last message repeated 1 times
 [mpegts @ 0x7fa759801000] pid=102 pes_code=0x1e0
 [mpegts @ 0x7fa759801000] PAT:
 [mpegts @ 0x7fa759801000] PMT: len 26
 [mpegts @ 0x7fa759801000] pid=101 pes_code=0x1c0
 [mpegts @ 0x7fa759801000] pid=102 pes_code=0x1e0
 [h264 @ 0x7fa759025c00] nal_unit_type: 9, nal_ref_idc: 0
 [h264 @ 0x7fa759025c00] nal_unit_type: 7, nal_ref_idc: 1
 [h264 @ 0x7fa759025c00] nal_unit_type: 8, nal_ref_idc: 1
 [h264 @ 0x7fa759025c00] nal_unit_type: 6, nal_ref_idc: 0
     Last message repeated 1 times
 [h264 @ 0x7fa759025c00] nal_unit_type: 5, nal_ref_idc: 1
     Last message repeated 1 times
 [h264 @ 0x7fa759025c00] Reinit context to 192x144, pix_fmt: yuv420p
 [mpegts @ 0x7fa759801000] pid=101 pes_code=0x1c0
 [mpegts @ 0x7fa759801000] PAT:
 [mpegts @ 0x7fa759801000] PMT: len 26
 [mpegts @ 0x7fa759801000] pid=102 pes_code=0x1e0
 [h264 @ 0x7fa759025c00] nal_unit_type: 9, nal_ref_idc: 0
 [h264 @ 0x7fa759025c00] nal_unit_type: 6, nal_ref_idc: 0
 [h264 @ 0x7fa759025c00] nal_unit_type: 1, nal_ref_idc: 1
     Last message repeated 1 times
 [mpegts @ 0x7fa759801000] pid=101 pes_code=0x1c0
     Last message repeated 1 times
 [mpegts @ 0x7fa759801000] pid=102 pes_code=0x1e0
 [h264 @ 0x7fa759025c00] nal_unit_type: 9, nal_ref_idc: 0
 [h264 @ 0x7fa759025c00] nal_unit_type: 6, nal_ref_idc: 0
 [h264 @ 0x7fa759025c00] nal_unit_type: 1, nal_ref_idc: 1
     Last message repeated 1 times
 [mpegts @ 0x7fa759801000] PAT:
 [mpegts @ 0x7fa759801000] PMT: len 26
 [mpegts @ 0x7fa759801000] pid=101 pes_code=0x1c0
 [mpegts @ 0x7fa759801000] pid=102 pes_code=0x1e0
 [h264 @ 0x7fa759025c00] nal_unit_type: 9, nal_ref_idc: 0
 [h264 @ 0x7fa759025c00] nal_unit_type: 6, nal_ref_idc: 0
 [h264 @ 0x7fa759025c00] nal_unit_type: 1, nal_ref_idc: 1
     Last message repeated 1 times
 [mpegts @ 0x7fa759801000] pid=101 pes_code=0x1c0
 [mpegts @ 0x7fa759801000] PAT:
 [mpegts @ 0x7fa759801000] pid=101 pes_code=0x1c0
 [mpegts @ 0x7fa759801000] PMT: len 26
 [mpegts @ 0x7fa759801000] pid=102 pes_code=0x1e0
 [h264 @ 0x7fa759025c00] nal_unit_type: 9, nal_ref_idc: 0
 [h264 @ 0x7fa759025c00] nal_unit_type: 6, nal_ref_idc: 0
 [h264 @ 0x7fa759025c00] nal_unit_type: 1, nal_ref_idc: 1
     Last message repeated 1 times
 [mpegts @ 0x7fa759801000] pid=101 pes_code=0x1c0
 [mpegts @ 0x7fa759801000] pid=102 pes_code=0x1e0
 [h264 @ 0x7fa759025c00] nal_unit_type: 9, nal_ref_idc: 0
 [h264 @ 0x7fa759025c00] nal_unit_type: 6, nal_ref_idc: 0
 [h264 @ 0x7fa759025c00] nal_unit_type: 1, nal_ref_idc: 1
     Last message repeated 1 times
 [mpegts @ 0x7fa759801000] PAT:
 [mpegts @ 0x7fa759801000] pid=101 pes_code=0x1c0
 [mpegts @ 0x7fa759801000] PMT: len 26
 [mpegts @ 0x7fa759801000] pid=101 pes_code=0x1c0
 [mpegts @ 0x7fa759801000] pid=102 pes_code=0x1e0
 [h264 @ 0x7fa759025c00] nal_unit_type: 9, nal_ref_idc: 0
 [h264 @ 0x7fa759025c00] nal_unit_type: 6, nal_ref_idc: 0
 [h264 @ 0x7fa759025c00] nal_unit_type: 1, nal_ref_idc: 1
     Last message repeated 1 times
 [mpegts @ 0x7fa759801000] pid=101 pes_code=0x1c0
 [mpegts @ 0x7fa759801000] PAT:
 [mpegts @ 0x7fa759801000] PMT: len 26
 [mpegts @ 0x7fa759801000] pid=102 pes_code=0x1e0
 [mpegts @ 0x7fa759801000] pid=101 pes_code=0x1c0
 [mpegts @ 0x7fa759801000] pid=102 pes_code=0x1e0
 [mpegts @ 0x7fa759801000] pid=101 pes_code=0x1c0
 [mpegts @ 0x7fa759801000] PAT:
 [mpegts @ 0x7fa759801000] PMT: len 26
 [mpegts @ 0x7fa759801000] pid=101 pes_code=0x1c0
 [mpegts @ 0x7fa759801000] pid=102 pes_code=0x1e0
 [mpegts @ 0x7fa759801000] pid=101 pes_code=0x1c0
 [mpegts @ 0x7fa759801000] PAT:
 [mpegts @ 0x7fa759801000] PMT: len 26
 [mpegts @ 0x7fa759801000] pid=102 pes_code=0x1e0
 [mpegts @ 0x7fa759801000] pid=101 pes_code=0x1c0
     Last message repeated 1 times
 [mpegts @ 0x7fa759801000] pid=102 pes_code=0x1e0
 [mpegts @ 0x7fa759801000] PAT:
 [mpegts @ 0x7fa759801000] PMT: len 26
 [mpegts @ 0x7fa759801000] pid=101 pes_code=0x1c0
 [mpegts @ 0x7fa759801000] pid=102 pes_code=0x1e0
 [mpegts @ 0x7fa759801000] pid=101 pes_code=0x1c0
 [mpegts @ 0x7fa759801000] PAT:
 [mpegts @ 0x7fa759801000] PMT: len 26
 [mpegts @ 0x7fa759801000] pid=101 pes_code=0x1c0
 [mpegts @ 0x7fa759801000] pid=102 pes_code=0x1e0
 [mpegts @ 0x7fa759801000] pid=101 pes_code=0x1c0
 [mpegts @ 0x7fa759801000] pid=102 pes_code=0x1e0
 [mpegts @ 0x7fa759801000] PAT:
 [mpegts @ 0x7fa759801000] pid=101 pes_code=0x1c0
 [mpegts @ 0x7fa759801000] PMT: len 26
 [mpegts @ 0x7fa759801000] pid=101 pes_code=0x1c0
 [mpegts @ 0x7fa759801000] pid=102 pes_code=0x1e0
 [mpegts @ 0x7fa759801000] pid=101 pes_code=0x1c0
 [mpegts @ 0x7fa759801000] PAT:
 [mpegts @ 0x7fa759801000] PMT: len 26
 [mpegts @ 0x7fa759801000] pid=102 pes_code=0x1e0
 [mpegts @ 0x7fa759801000] pid=101 pes_code=0x1c0
 [mpegts @ 0x7fa759801000] pid=102 pes_code=0x1e0
 [mpegts @ 0x7fa759801000] pid=101 pes_code=0x1c0
 [mpegts @ 0x7fa759801000] PAT:
 [mpegts @ 0x7fa759801000] PMT: len 26
 [mpegts @ 0x7fa759801000] pid=101 pes_code=0x1c0
 [mpegts @ 0x7fa759801000] pid=102 pes_code=0x1e0
 [mpegts @ 0x7fa759801000] pid=101 pes_code=0x1c0
 [mpegts @ 0x7fa759801000] PAT:
 [mpegts @ 0x7fa759801000] PMT: len 26
 [mpegts @ 0x7fa759801000] pid=102 pes_code=0x1e0
 [mpegts @ 0x7fa759801000] pid=101 pes_code=0x1c0
     Last message repeated 1 times
 [mpegts @ 0x7fa759801000] pid=102 pes_code=0x1e0
 [hls,applehttp @ 0x7fa75a006200] All info found
 [hls,applehttp @ 0x7fa75a006200] Setting avg frame rate based on r frame
 rate
 [hls,applehttp @ 0x7fa75a006200] stream 0: start_time: 10.000 duration:
 -102481911520608.625
 [hls,applehttp @ 0x7fa75a006200] stream 1: start_time: 10.000 duration:
 -102481911520608.625
 [hls,applehttp @ 0x7fa75a006200] format: start_time: 10.000 duration:
 1801.000 bitrate=0 kb/s
 [hls,applehttp @ 0x7fa75a006200] After avformat_find_stream_info() pos:
 7019 bytes read:7019 seeks:0 frames:53
 Input #0, hls,applehttp, from
 'http://devimages.apple.com/iphone/samples/bipbop/gear1/prog_index.m3u8':
   Duration: 00:30:01.00, start: 10.000000, bitrate: 0 kb/s
   Program 0
     Metadata:
       variant_bitrate : 0
     Stream #0:0, 32, 1/90000: Audio: aac (LC) ([15][0][0][0] / 0x000F),
 22050 Hz, mono, fltp
     Metadata:
       variant_bitrate : 0
     Stream #0:1, 21, 1/90000: Video: h264 (Constrained Baseline), 1
 reference frame ([27][0][0][0] / 0x001B), yuv420p(tv,
 smpte170m/smpte170m/bt709, topleft), 192x144, 0/1, 14.99 fps, 14.99 tbr,
 90k tbn, 180k tbc
     Metadata:
       variant_bitrate : 0
 Successfully opened the file.
 At least one output file must be specified
 [AVIOContext @ 0x7fa758c13500] Statistics: 65538 bytes read, 0 seeks
 [AVIOContext @ 0x7fa75a803ba0] Statistics: 7019 bytes read, 0 seeks
 localhost:commit StevenLiu$
 }}}

--
Ticket URL: <https://trac.ffmpeg.org/ticket/1291#comment:6>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list