[FFmpeg-user] Step 1 encode video, Step 2 stream over UDP-> NOT working (HEVC, UDP, x265, streaming)

Rudi Hrvatin rudi.hrvatin at gmail.com
Thu Dec 18 08:34:14 CET 2014


Hi everyone!


I did more testing about MPEG2-TS and x265 and x264. With x264 everyting
works fine, x265 is causing the problem mentioned below.


*STEP 1*. The command below works like a charm with x264 and x265. The
initial problem was with the video I was using.

However when I try to stream it, the x265 makes problems. x264 works
perfectly.

ffmpeg  -re -i test.ts -r 25 -b:v 2500k -preset medium -c:v libx264
-x264-params crf=27  -y  -f mpegts test1.ts

ffmpeg -re -i test.ts -r 25 -b:v 2500k -preset medium -c:v libx265
-x265-params crf=27 -y -f mpegts test1.ts




> *STEP 1* is to encode a file. There are this warning, but I'm don't know
> how to fix them. But the video still plays with ffplay.
>
> ffmpeg -i BQTerrace_1920x1080_60_qp22.bin -r 25 -b:v 2500k -c:v hevc
> -preset medium -x
> 65-params crf=27   -y  -f mpegts test.ts
> ffmpeg version N-68441-g4fa42e0 Copyright (c) 2000-2014 the FFmpeg
> developers
>   built on Dec 14 2014 22:13:03 with gcc 4.9.2 (GCC)
>   configuration: --enable-gpl --enable-version3 --disable-w32threads
> --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r
> --enable-gnutls --ena
> le-iconv --enable-libass --enable-libbluray --enable-libbs2b
> --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm
> --enable-libilbc --enable-li
> modplug --enable-libmp3lame --enable-libopencore-amrnb
> --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus
> --enable-librtmp --enable-libschroeding
> r --enable-libsoxr --enable-libspeex --enable-libtheora
> --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc
> --enable-libvo-amrwbenc --enable-libvorbi
>  --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264
> --enable-libx265 --enable-libxavs --enable-libxvid --enable-decklink
> --enable-zlib
>   libavutil      54. 15.100 / 54. 15.100
>   libavcodec     56. 14.100 / 56. 14.100
>   libavformat    56. 15.105 / 56. 15.105
>   libavdevice    56.  3.100 / 56.  3.100
>   libavfilter     5.  3.101 /  5.  3.101
>   libswscale      3.  1.101 /  3.  1.101
>   libswresample   1.  1.100 /  1.  1.100
>   libpostproc    53.  3.100 / 53.  3.100
> [hevc @ 000000000032e100] *Unknown HEVC profile: 0*
>     Last message repeated 3 times
> [hevc @ 000000000031cee0] Stream #0: *not enough frames to estimate rate;
> consider increasing probesize*
> Input #0, hevc, from 'BQTerrace_1920x1080_60_qp22.bin':
>   Duration: N/A, bitrate: N/A
>     Stream #0:0: Video: hevc, yuv420p10le(tv), 1920x1080, 25 fps, 25 tbr,
> 1200k tbn, 25 tbc
> x265 [info]: HEVC encoder version 1.4
> x265 [info]: build info [Windows][GCC 4.9.2][64 bit] 8bpp
> x265 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
> x265 [info]: Main profile, Level-4 (Main tier)
> x265 [info]: WPP streams / frame threads / pool  : 17 / 2 / 4
> x265 [info]: CTU size / RQT depth inter / intra  : 64 / 1 / 1
> x265 [info]: ME / range / subpel / merge         : hex / 57 / 2 / 2
> x265 [info]: Keyframe min / max / scenecut       : 25 / 250 / 40
> x265 [info]: Lookahead / bframes / badapt        : 20 / 4 / 2
> x265 [info]: b-pyramid / weightp / weightb / refs: 1 / 1 / 0 / 3
> x265 [info]: Rate Control / AQ-Strength / CUTree : CRF-27.0 / 1.0 / 1
> x265 [info]: tools: rd=3 lft sao signhide tmvp
> [hevc @ 0000000006857de0] *Unknown HEVC profile: 0*
>     Last message repeated 1 times
> Output #0, mpegts, to 'test.ts':
>   Metadata:
>     encoder         : Lavf56.15.105
>     Stream #0:0: Video: hevc (libx265), yuv420p, 1920x1080, q=2-31, 2500
> kb/s, 25 fps, 90k tbn, 25 tbc
>     Metadata:
>       encoder         : Lavc56.14.100 libx265
> Stream mapping:
>   Stream #0:0 -> #0:0 (hevc (native) -> hevc (libx265))
> Press [q] to stop, [?] for help
> [hevc @ 0000000006857de0] Unknown HEVC profile: 0
>     Last message repeated 1 times
> frame=  600 fps=6.5 q=0.0 Lsize=    7740kB time=00:00:23.92
> bitrate=2650.7kbits/s
> video:7113kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB
> muxing overhead: 8.813824%
> x265 [info]: frame I:      3, Avg QP:27.06  kb/s: 35250.87
> x265 [info]: frame P:    121, Avg QP:27.73  kb/s: 9571.68
> x265 [info]: frame B:    476, Avg QP:33.05  kb/s: 403.04
> x265 [info]: global :    600, Avg QP:31.95  kb/s: 2426.29
> x265 [info]: Weighted P-Frames: Y:9.1% UV:6.6%
> x265 [info]: consecutive B-frames: 0.8% 0.0% 3.2% 6.5% 89.5%
>
>
>
*STEP 2 is still a problem! I tried with x264 and everything works fine.
The x265 encoded video still produces errors! Any idea here? Is this a BUG?
*I googled about the start code and this is just a sequence of bits. Maybe
is the encoder or maybe the streaming part?

ffmpeg -re -i test1.ts -c copy -f mpegts udp://172.18.60.47:1234 (with
video encoded with x264 works fine, x265 makes problems)

The error:

[mpegts @ 00000000050b0520] HEVC bitstream error, startcode missing, size
1436 data 00000100


>
> *STEP 2* stream the file over UDP. Here I don't know what to do. What
> parameters should I change/add/remove? Or is the source file "test.ts"
> already corrupted? (The output is much longer because for each frame there
> are the same errors)
>
> ffmpeg -re -i test.ts -c:v copy -f mpegts  udp://172.18.60.47:1234
> ffmpeg version N-68441-g4fa42e0 Copyright (c) 2000-2014 the FFmpeg
> developers
>   built on Dec 14 2014 22:13:03 with gcc 4.9.2 (GCC)
>   configuration: --enable-gpl --enable-version3 --disable-w32threads
> --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r
> --enable-gnutls --enab
> le-iconv --enable-libass --enable-libbluray --enable-libbs2b
> --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm
> --enable-libilbc --enable-lib
> modplug --enable-libmp3lame --enable-libopencore-amrnb
> --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus
> --enable-librtmp --enable-libschroedinge
> r --enable-libsoxr --enable-libspeex --enable-libtheora
> --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc
> --enable-libvo-amrwbenc --enable-libvorbis
>  --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264
> --enable-libx265 --enable-libxavs --enable-libxvid --enable-decklink
> --enable-zlib
>   libavutil      54. 15.100 / 54. 15.100
>   libavcodec     56. 14.100 / 56. 14.100
>   libavformat    56. 15.105 / 56. 15.105
>   libavdevice    56.  3.100 / 56.  3.100
>   libavfilter     5.  3.101 /  5.  3.101
>   libswscale      3.  1.101 /  3.  1.101
>   libswresample   1.  1.100 /  1.  1.100
>   libpostproc    53.  3.100 / 53.  3.100
> Input #0, mpegts, from 'test.ts':
>   Duration: 00:00:24.00, start: 1.480000, bitrate: 2641 kb/s
>   Program 1
>     Metadata:
>       service_name    : Service01
>       service_provider: FFmpeg
>     Stream #0:0[0x100]: Video: hevc (Main) ([36][0][0][0] / 0x0024),
> yuv420p(tv), 1920x1080, 25 fps, 25 tbr, 90k tbn, 25 tbc
> Output #0, mpegts, to 'udp://172.18.60.47:1234':
>   Metadata:
>     encoder         : Lavf56.15.105
>     Stream #0:0: Video: hevc ([36][0][0][0] / 0x0024), yuv420p, 1920x1080,
> q=2-31, 25 fps, 25 tbr, 90k tbn, 25 tbc
> Stream mapping:
>   Stream #0:0 -> #0:0 (copy)
> Press [q] to stop, [?] for help
> [mpegts @ 00000000050b0520] *HEVC bitstream error, startcode missing,
> size 75310 data 00000102*
> [mpegts @ 00000000050b0520] HEVC bitstream error, startcode missing, size
> 2941 data 00000102
> [mpegts @ 00000000050b0520] HEVC bitstream error, startcode missing, size
> 1436 data 00000100
> [mpegts @ 00000000050b0520] HEVC bitstream error, startcode missing, size
> 57986 data 00000102
> [mpegts @ 00000000050b0520] HEVC bitstream error, startcode missing, size
> 3777 data 00000102
> [mpegts @ 00000000050b0520] HEVC bitstream error, startcode missing, size
> 1369 data 00000100
> [mpegts @ 00000000050b0520] HEVC bitstream error, startcode missing, size
> 55920 data 00000102
> [mpegts @ 00000000050b0520] HEVC bitstream error, startcode missing, size
> 3855 data 00000102
> [mpegts @ 00000000050b0520] HEVC bitstream error, startcode missing, size
> 1707 data 00000100
> [mpegts @ 00000000050b0520] HEVC bitstream error, startcode missing, size
> 2177 data 00000100
> frame=   11 fps=0.0 q=-1.0 Lsize=     419kB time=00:00:00.36
> bitrate=9537.9kbits/s
> video:387kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB
> muxing overhead: 8.256908%
> Received signal 2: terminating.
>


Thanks for the help in advance! :)


Best regards,

Rudi Hrvatin


More information about the ffmpeg-user mailing list