[FFmpeg-user] Static ARMEL ffmpeg build on Zero not resolving domains properly?

christina zou zou.christina at gmail.com
Thu Jan 26 12:37:54 EET 2017


Also want to add the DNS error that forces me to use IP addresses instead
of domains. Hopefully people know what I am referring to; a friendly helper
from the IRC channel was able to reproduce it himself.

*raspivid -o - -t 0 -vf -hf -fps 10 -g 30 -b 4500000 | ffmpeg/./ffmpeg -f
lavfi -re -i anullsrc -f h264 -thread_queue_size 1024 -framerate 10
-probesize 100  -i - -vcodec copy -acodec aac -g 20  -f flv
"rtmp://rtmp-api.facebook.com:80/rtmp/1202172759851050?ds=1&s_l=1&a=ATig_KiAVVHvPWse
<http://rtmp-api.facebook.com:80/rtmp/1202172759851050?ds=1&s_l=1&a=ATig_KiAVVHvPWse>"*

ffmpeg version 3.1.4-static http://johnvansickle.com/ffmpeg/  Copyright (c)
2000-2016 the FFmpeg developers

  built with gcc 5.4.1 (Debian 5.4.1-2) 20160904

  configuration: --enable-gpl --enable-version3 --enable-static
--disable-debug --enable-libmp3lame --enable-libx264 --enable-libwebp
--enable-libspeex --enable-libvorbis --enable-libvpx --enable-libfreetype
--enable-fontconfig --enable-libxvid --enable-libopencore-amrnb
--enable-libopencore-amrwb --enable-libtheora --enable-libvo-amrwbenc
--enable-gray --enable-libopus --enable-libass --enable-gnutls
--enable-libvidstab --enable-libsoxr --enable-frei0r --enable-libfribidi
--disable-indev=sndio --disable-outdev=sndio --enable-librtmp --cc=gcc-5
--disable-ffplay

  libavutil      55. 28.100 / 55. 28.100

  libavcodec     57. 48.101 / 57. 48.101

  libavformat    57. 41.100 / 57. 41.100

  libavdevice    57.  0.101 / 57.  0.101

  libavfilter     6. 47.100 /  6. 47.100

  libswscale      4.  1.100 /  4.  1.100

  libswresample   2.  1.100 /  2.  1.100

  libpostproc    54.  0.100 / 54.  0.100

Input #0, lavfi, from 'anullsrc':

  Duration: N/A, start: 0.000000, bitrate: 705 kb/s

    Stream #0:0: Audio: pcm_u8, 44100 Hz, stereo, u8, 705 kb/s

[h264 @ 0x3d54900] Stream #0: not enough frames to estimate rate; consider
increasing probesize

[h264 @ 0x3d54900] decoding for stream 0 failed

Input #1, h264, from 'pipe:':

  Duration: N/A, bitrate: N/A

    Stream #1:0: Video: h264 (High), yuv420p, 1920x1080, 10 tbr, 1200k tbn,
20 tbc

*Problem accessing the DNS. (addr: rtmp-api.facebook.com
<http://rtmp-api.facebook.com>)*

*rtmp://rtmp-api.facebook.com:80/rtmp/1202172759851050?ds=1&s_l=1&a=ATig_KiAVVHvPWse
<http://rtmp-api.facebook.com:80/rtmp/1202172759851050?ds=1&s_l=1&a=ATig_KiAVVHvPWse>:
Unknown error occurred*

On Thu, Jan 26, 2017 at 2:18 AM, christina zou <zou.christina at gmail.com>
wrote:

> Just want to add my command and the -report log.
>
> *Command*
>
> raspivid -o - -t 0 -vf -hf -fps 30 -b 6000000 | ffmpeg/./ffmpeg -re -ar
> 44100 -ac 2 -acodec pcm_s16le -f s16le -ac 2 -i /dev/zero -f h264 -i -
> -vcodec copy -acodec aac -ab 128k -g 50 -strict experimental -f flv
> rtmp://31.13.66.23:80/rtmp/1202172759851050?ds=1&s_l=1&a=ATig_KiAVVHvPWse
>
> *Log (report)*
>
> ffmpeg started on 2017-01-26 at 07:07:25
>
> Report written to "ffmpeg-20170126-070725.log"
>
> Command line:
>
> ffmpeg/./ffmpeg -report -re -ar 44100 -ac 2 -acodec pcm_s16le -f s16le -ac
> 2 -i /dev/zero -f h264 -i - -vcodec copy -acodec aac -ab 128k -g 50 -strict
> experimental -f flv "rtmp://157.240.3.12:80/rtmp/1202172759851050?ds=1"
>
> ffmpeg version 3.1.4-static http://johnvansickle.com/ffmpeg/  Copyright
> (c) 2000-2016 the FFmpeg developers
>
>   built with gcc 5.4.1 (Debian 5.4.1-2) 20160904
>
>   configuration: --enable-gpl --enable-version3 --enable-static
> --disable-debug --enable-libmp3lame --enable-libx264 --enable-libwebp
> --enable-libspeex --enable-libvorbis --enable-libvpx --enable-libfreetype
> --enable-fontconfig --enable-libxvid --enable-libopencore-amrnb
> --enable-libopencore-amrwb --enable-libtheora --enable-libvo-amrwbenc
> --enable-gray --enable-libopus --enable-libass --enable-gnutls
> --enable-libvidstab --enable-libsoxr --enable-frei0r --enable-libfribidi
> --disable-indev=sndio --disable-outdev=sndio --enable-librtmp --cc=gcc-5
> --disable-ffplay
>
>   libavutil      55. 28.100 / 55. 28.100
>
>   libavcodec     57. 48.101 / 57. 48.101
>
>   libavformat    57. 41.100 / 57. 41.100
>
>   libavdevice    57.  0.101 / 57.  0.101
>
>   libavfilter     6. 47.100 /  6. 47.100
>
>   libswscale      4.  1.100 /  4.  1.100
>
>   libswresample   2.  1.100 /  2.  1.100
>
>   libpostproc    54.  0.100 / 54.  0.100
>
> Splitting the commandline.
>
> Reading option '-report' ... matched as option 'report' (generate a
> report) with argument '1'.
>
> Reading option '-re' ... matched as option 're' (read input at native
> frame rate) with argument '1'.
>
> Reading option '-ar' ... matched as option 'ar' (set audio sampling rate
> (in Hz)) with argument '44100'.
>
> Reading option '-ac' ... matched as option 'ac' (set number of audio
> channels) with argument '2'.
>
> Reading option '-acodec' ... matched as option 'acodec' (force audio codec
> ('copy' to copy stream)) with argument 'pcm_s16le'.
>
> Reading option '-f' ... matched as option 'f' (force format) with argument
> 's16le'.
>
> Reading option '-ac' ... matched as option 'ac' (set number of audio
> channels) with argument '2'.
>
> Reading option '-i' ... matched as input file with argument '/dev/zero'.
>
> Reading option '-f' ... matched as option 'f' (force format) with argument
> 'h264'.
>
> Reading option '-i' ... matched as input file with argument '-'.
>
> Reading option '-vcodec' ... matched as option 'vcodec' (force video codec
> ('copy' to copy stream)) with argument 'copy'.
>
> Reading option '-acodec' ... matched as option 'acodec' (force audio codec
> ('copy' to copy stream)) with argument 'aac'.
>
>
>   libswresample   2.  1.100 /  2.  1.100
>
>   libpostproc    54.  0.100 / 54.  0.100
>
> Splitting the commandline.
>
> Reading option '-report' ... matched as option 'report' (generate a
> report) with argument '1'.
>
> Reading option '-re' ... matched as option 're' (read input at native
> frame rate) with argument '1'.
>
> Reading option '-ar' ... matched as option 'ar' (set audio sampling rate
> (in Hz)) with argument '44100'.
>
> Reading option '-ac' ... matched as option 'ac' (set number of audio
> channels) with argument '2'.
>
> Reading option '-acodec' ... matched as option 'acodec' (force audio codec
> ('copy' to copy stream)) with argument 'pcm_s16le'.
>
> Reading option '-f' ... matched as option 'f' (force format) with argument
> 's16le'.
>
> Reading option '-ac' ... matched as option 'ac' (set number of audio
> channels) with argument '2'.
>
> Reading option '-i' ... matched as input file with argument '/dev/zero'.
>
> Reading option '-f' ... matched as option 'f' (force format) with argument
> 'h264'.
>
> Reading option '-i' ... matched as input file with argument '-'.
>
> Reading option '-vcodec' ... matched as option 'vcodec' (force video codec
> ('copy' to copy stream)) with argument 'copy'.
>
> Reading option '-acodec' ... matched as option 'acodec' (force audio codec
> ('copy' to copy stream)) with argument 'aac'.
>
> Reading option '-ab' ... matched as option 'ab' (audio bitrate (please use
> -b:a)) with argument '128k'.
>
> Reading option '-g' ... matched as AVOption 'g' with argument '50'.
>
> Reading option '-strict' ...Routing option strict to both codec and muxer
> layer
>
>  matched as AVOption 'strict' with argument 'experimental'.
>
> Reading option '-f' ... matched as option 'f' (force format) with argument
> 'flv'.
>
> Reading option 'rtmp://157.240.3.12:80/rtmp/1202172759851050?ds=1' ...
> matched as output file.
>
> Finished splitting the commandline.
>
> Parsing a group of options: global .
>
> Applying option report (generate a report) with argument 1.
>
> Successfully parsed a group of options.
>
> Parsing a group of options: input file /dev/zero.
>
> Applying option re (read input at native frame rate) with argument 1.
>
> Applying option ar (set audio sampling rate (in Hz)) with argument 44100.
>
> Applying option ac (set number of audio channels) with argument 2.
>
> Applying option acodec (force audio codec ('copy' to copy stream)) with
> argument pcm_s16le.
>
> Reading option '-ab' ... matched as option 'ab' (audio bitrate (please use
> -b:a)) with argument '128k'.
>
> Reading option '-g' ... matched as AVOption 'g' with argument '50'.
>
> Reading option '-strict' ...Routing option strict to both codec and muxer
> layer
>
>  matched as AVOption 'strict' with argument 'experimental'.
>
> Reading option '-f' ... matched as option 'f' (force format) with argument
> 'flv'.
>
> Reading option 'rtmp://157.240.3.12:80/rtmp/1202172759851050?ds=1' ...
> matched as output file.
>
> Finished splitting the commandline.
>
> Parsing a group of options: global .
>
> Applying option report (generate a report) with argument 1.
>
> Successfully parsed a group of options.
>
> Parsing a group of options: input file /dev/zero.
>
> Applying option re (read input at native frame rate) with argument 1.
>
> Applying option ar (set audio sampling rate (in Hz)) with argument 44100.
>
> Applying option ac (set number of audio channels) with argument 2.
>
> Applying option acodec (force audio codec ('copy' to copy stream)) with
> argument pcm_s16le.
>
> Applying option f (force format) with argument s16le.
>
> Applying option ac (set number of audio channels) with argument 2.
>
> Successfully parsed a group of options.
>
> Opening an input file: /dev/zero.
>
> [file @ 0x2a1aa40] Setting default whitelist 'file,crypto'
>
> [s16le @ 0x2a1a390] Before avformat_find_stream_info() pos: 0 bytes
> read:32768 seeks:0 nb_streams:1
>
> [s16le @ 0x2a1a390] All info found
>
> [s16le @ 0x2a1a390] After avformat_find_stream_info() pos: 204800 bytes
> read:229376 seeks:0 frames:50
>
> Guessed Channel Layout for Input Stream #0.0 : stereo
>
> Input #0, s16le, from '/dev/zero':
>
>   Duration: N/A, bitrate: 1411 kb/s
>
>     Stream #0:0, 50, 1/44100: Audio: pcm_s16le, 44100 Hz, 2 channels, s16,
> 1411 kb/s
>
> Successfully opened the file.
>
> Parsing a group of options: input file -.
>
> Applying option f (force format) with argument h264.
>
> Applying option ac (set number of audio channels) with argument 2.
>
> Successfully parsed a group of options.
>
> Opening an input file: /dev/zero.
>
> [file @ 0x2a1aa40] Setting default whitelist 'file,crypto'
>
> [s16le @ 0x2a1a390] Before avformat_find_stream_info() pos: 0 bytes
> read:32768 seeks:0 nb_streams:1
>
> [s16le @ 0x2a1a390] All info found
>
> [s16le @ 0x2a1a390] After avformat_find_stream_info() pos: 204800 bytes
> read:229376 seeks:0 frames:50
>
> Guessed Channel Layout for Input Stream #0.0 : stereo
>
> Input #0, s16le, from '/dev/zero':
>
>   Duration: N/A, bitrate: 1411 kb/s
>
>     Stream #0:0, 50, 1/44100: Audio: pcm_s16le, 44100 Hz, 2 channels, s16,
> 1411 kb/s
>
> Successfully opened the file.
>
> Parsing a group of options: input file -.
>
> Applying option f (force format) with argument h264.
>
> Successfully parsed a group of options.
>
> Opening an input file: -.
>
> [pipe @ 0x2a1a320] Setting default whitelist 'crypto'
>
> [h264 @ 0x2a5a110] Before avformat_find_stream_info() pos: 0 bytes
> read:4096 seeks:0 nb_streams:1
>
> [h264 @ 0x2a62e50] nal_unit_type: 7, nal_ref_idc: 1
>
> [h264 @ 0x2a62e50] nal_unit_type: 8, nal_ref_idc: 1
>
> [h264 @ 0x2a62e50] nal_unit_type: 5, nal_ref_idc: 1
>
> [h264 @ 0x2a62e50] nal_unit_type: 1, nal_ref_idc: 1
>
> [h264 @ 0x2a62e50] nal_unit_type: 1, nal_ref_idc: 1
>
> [h264 @ 0x2a62e50] nal_unit_type: 1, nal_ref_idc: 1
>
> [h264 @ 0x2a62e50] nal_unit_type: 1, nal_ref_idc: 1
>
> [h264 @ 0x2a62e50] nal_unit_type: 1, nal_ref_idc: 1
>
> [h264 @ 0x2a62e50] nal_unit_type: 1, nal_ref_idc: 1
>
> [h264 @ 0x2a5a110] max_analyze_duration 5000000 reached at 5000000
> microseconds st:0
>
> [h264 @ 0x2a5a110] After avformat_find_stream_info() pos: 98304 bytes
> read:98304 seeks:0 frames:127
>
> Successfully parsed a group of options.
>
> Opening an input file: -.
>
> [pipe @ 0x2a1a320] Setting default whitelist 'crypto'
>
> [h264 @ 0x2a5a110] Before avformat_find_stream_info() pos: 0 bytes
> read:4096 seeks:0 nb_streams:1
>
> [h264 @ 0x2a62e50] nal_unit_type: 7, nal_ref_idc: 1
>
> [h264 @ 0x2a62e50] nal_unit_type: 8, nal_ref_idc: 1
>
> [h264 @ 0x2a62e50] nal_unit_type: 5, nal_ref_idc: 1
>
> [h264 @ 0x2a62e50] nal_unit_type: 1, nal_ref_idc: 1
>
> [h264 @ 0x2a62e50] nal_unit_type: 1, nal_ref_idc: 1
>
> [h264 @ 0x2a62e50] nal_unit_type: 1, nal_ref_idc: 1
>
> [h264 @ 0x2a62e50] nal_unit_type: 1, nal_ref_idc: 1
>
> [h264 @ 0x2a62e50] nal_unit_type: 1, nal_ref_idc: 1
>
> [h264 @ 0x2a62e50] nal_unit_type: 1, nal_ref_idc: 1
>
> [h264 @ 0x2a5a110] max_analyze_duration 5000000 reached at 5000000
> microseconds st:0
>
> [h264 @ 0x2a5a110] After avformat_find_stream_info() pos: 98304 bytes
> read:98304 seeks:0 frames:127
>
> Input #1, h264, from 'pipe:':
>
>   Duration: N/A, bitrate: N/A
>
>     Stream #1:0, 127, 1/1200000: Video: h264 (High), yuv420p, 1920x1080,
> 25 fps, 25 tbr, 1200k tbn, 50 tbc
>
> Successfully opened the file.
>
> Parsing a group of options: output file rtmp://157.240.3.12:80/rtmp/
> 1202172759851050?ds=1.
>
> Applying option vcodec (force video codec ('copy' to copy stream)) with
> argument copy.
>
> Applying option acodec (force audio codec ('copy' to copy stream)) with
> argument aac.
>
> Applying option ab (audio bitrate (please use -b:a)) with argument 128k.
>
> Applying option f (force format) with argument flv.
>
> Successfully parsed a group of options.
>
> Opening an output file: rtmp://157.240.3.12:80/rtmp/1202172759851050?ds=1.
>
> [rtmp @ 0x2a7ba00] No default whitelist set
>
> RTMP_ReadPacket, failed to read RTMP packet header
>
> rtmp://157.240.3.12:80/rtmp/1202172759851050?ds=1: Unknown error occurred
>
> [AVIOContext @ 0x2a22bf0] Statistics: 229376 bytes read, 0 seeks
>
> [AVIOContext @ 0x2a53800] Statistics: 98304 bytes read, 0 seeks
>
> On Thu, Jan 26, 2017 at 2:09 AM, christina zou <zou.christina at gmail.com>
> wrote:
>
>> Hello,
>>
>> I have a Pi Zero and am using ffmpeg to stream to platforms like Youtube
>> and Twitch.
>>
>> I was instructed from #ffmpeg's IRC channel to install the static ARMEL
>> ffmpeg tar from https://www.johnvansickle.com/ffmpeg/. It is called
>> ffmpeg-release-armel-32bit-static.tar.xz
>> <https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-armel-32bit-static.tar.xz>
>> - md5
>> <https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-armel-32bit-static.tar.xz.md5>
>>
>> Using this version of ffmpeg, I am able to livestream to platforms like
>> Youtube and Twitch Live, but I'm forced to use the IP addresses in the RTMP
>> URLs to avoid a DNS issue. This DNS issue was repro'd by others helping me
>> on the IRC channel, so they advised the IP address approach. They told me
>> the ARMHF version resolved this issue, but I would have to manually compile
>> it for the Zero, and it was complicated (my memory is hazy here...)
>>
>> Now I am attempting to stream to Facebook Live, where it seems like the
>> RTMP URL's IP address changes, and I'm getting a 'failed to read RTMP
>> packet header' error.
>>
>> I am trying to remember the names of the users I interacted with on
>> #ffmpeg.. I think I remember @furq?
>>
>> I'm wondering if I should use a different version of ffmpeg, and if so,
>> how to obtain/build it for the Zero?
>>
>> Thanks,
>> Christina
>>
>
>


More information about the ffmpeg-user mailing list